@@ -144,43 +144,7 @@ def rand_id(pool):
144144 "SELECT 点查询(PK)" ,
145145 lambda : f"SELECT id, name, age, score FROM bench_users WHERE id = { rand_id (ids )} " ,
146146 ),
147- (
148- "SELECT 范围扫描(age)" ,
149- lambda : (
150- lambda a = random .randint (18 , 50 ):
151- f"SELECT id, name, age FROM bench_users WHERE age >= { a } AND age <= { a + 5 } "
152- )(),
153- ),
154- (
155- "SELECT ORDER BY+LIMIT" ,
156- lambda : "SELECT id, name, score FROM bench_users ORDER BY score LIMIT 10" ,
157- ),
158- (
159- "SELECT COUNT(*)" ,
160- lambda : (
161- lambda uid = rand_id (user_ids ):
162- f"SELECT COUNT(*) FROM bench_orders WHERE user_id = { uid } "
163- )(),
164- ),
165- (
166- "SELECT SUM(amount)" ,
167- lambda : (
168- lambda uid = rand_id (user_ids ):
169- f"SELECT SUM(amount) FROM bench_orders WHERE user_id = { uid } "
170- )(),
171- ),
172- (
173- "SELECT AVG(amount)" ,
174- lambda : (
175- lambda uid = rand_id (user_ids ):
176- f"SELECT AVG(amount) FROM bench_orders WHERE user_id = { uid } "
177- )(),
178- ),
179- (
180- "SELECT GROUP BY" ,
181- lambda : "SELECT status, COUNT(*) FROM bench_orders GROUP BY status" ,
182- ),
183- (
147+ (
184148 "JOIN 两表(orders+users)" ,
185149 lambda : (
186150 lambda uid = rand_id (user_ids ):
@@ -201,6 +165,42 @@ def rand_id(pool):
201165 f"AND bench_orders.id = { oid } "
202166 )(),
203167 ),
168+ # (
169+ # "SELECT 范围扫描(age)",
170+ # lambda: (
171+ # lambda a=random.randint(18, 50):
172+ # f"SELECT id, name, age FROM bench_users WHERE age >= {a} AND age <= {a+5}"
173+ # )(),
174+ # ),
175+ # (
176+ # "SELECT ORDER BY+LIMIT",
177+ # lambda: "SELECT id, name, score FROM bench_users ORDER BY score LIMIT 10",
178+ # ),
179+ # (
180+ # "SELECT COUNT(*)",
181+ # lambda: (
182+ # lambda uid=rand_id(user_ids):
183+ # f"SELECT COUNT(*) FROM bench_orders WHERE user_id = {uid}"
184+ # )(),
185+ # ),
186+ # (
187+ # "SELECT SUM(amount)",
188+ # lambda: (
189+ # lambda uid=rand_id(user_ids):
190+ # f"SELECT SUM(amount) FROM bench_orders WHERE user_id = {uid}"
191+ # )(),
192+ # ),
193+ # (
194+ # "SELECT AVG(amount)",
195+ # lambda: (
196+ # lambda uid=rand_id(user_ids):
197+ # f"SELECT AVG(amount) FROM bench_orders WHERE user_id = {uid}"
198+ # )(),
199+ # ),
200+ (
201+ "SELECT GROUP BY" ,
202+ lambda : "SELECT status, COUNT(*) FROM bench_orders GROUP BY status" ,
203+ ),
204204 (
205205 "JOIN+GROUP BY+HAVING" ,
206206 lambda : (
@@ -211,36 +211,36 @@ def rand_id(pool):
211211 "HAVING COUNT(*) >= 1"
212212 ),
213213 ),
214- (
215- "INSERT(users_insert)" ,
216- lambda : (
217- lambda nm = "" .join (random .choices (string .ascii_lowercase , k = 6 )),
218- ag = random .randint (18 , 60 ),
219- sc = round (random .uniform (0 , 100 ), 2 ):
220- f"INSERT INTO bench_users_insert VALUES "
221- f"({ random .randint (1000000 , 9999999 )} , '{ nm } ', { ag } , { sc } )"
222- )(),
223- ),
224- (
225- "UPDATE(score by id)" ,
226- lambda : (
227- lambda uid = rand_id (ids ), sc = round (random .uniform (0 , 100 ), 2 ):
228- f"UPDATE bench_users SET score = { sc } WHERE id = { uid } "
229- )(),
230- ),
231- (
232- "读写混合(join+range_update)" ,
233- lambda : (
234- lambda uid = rand_id (user_ids ),
235- iid = random .randint (1 , max (1 , data_scale * 5 - data_scale )),
236- price = round (random .uniform (1 , 200 ), 2 ): [
237- f"UPDATE bench_order_items SET price = { price } WHERE id >= { iid } AND id <= { iid + data_scale } " ,
238- f"SELECT * "
239- f"FROM bench_users "
240- f"WHERE id = { uid } "
241- ]
242- )(),
243- ),
214+ # (
215+ # "INSERT(users_insert)",
216+ # lambda: (
217+ # lambda nm="".join(random.choices(string.ascii_lowercase, k=6)),
218+ # ag=random.randint(18, 60),
219+ # sc=round(random.uniform(0, 100), 2):
220+ # f"INSERT INTO bench_users_insert VALUES "
221+ # f"({random.randint(1000000, 9999999)}, '{nm}', {ag}, {sc})"
222+ # )(),
223+ # ),
224+ # (
225+ # "UPDATE(score by id)",
226+ # lambda: (
227+ # lambda uid=rand_id(ids), sc=round(random.uniform(0, 100), 2):
228+ # f"UPDATE bench_users SET score = {sc} WHERE id = {uid}"
229+ # )(),
230+ # ),
231+ # (
232+ # "读写混合(join+range_update)",
233+ # lambda: (
234+ # lambda uid=rand_id(user_ids),
235+ # iid=random.randint(1, max(1, data_scale * 5 - data_scale)),
236+ # price=round(random.uniform(1, 200), 2): [
237+ # f"UPDATE bench_order_items SET price = {price} WHERE id >= {iid} AND id <= {iid + data_scale}",
238+ # f"SELECT * "
239+ # f"FROM bench_users "
240+ # f"WHERE id = {uid}"
241+ # ]
242+ # )(),
243+ # ),
244244 ]
245245 return scenarios
246246
0 commit comments