How can I run a query multiple times in phpmyadmin

2019-02-27 13:46发布

问题:

I want a way to be able to benchmark a query like 1,000,000 times. What's the easiest way to do this? Currently I've searched for a way to issue a query multiple times but nothing pops up.

I've also come across the benchmark() command that can be run in mysql command line, but it seems to have some limitations and I can't seem to get it to work.

回答1:

This isn't really the job of phpMyAdmin, a GUI for MySQL beginners.

Put the query in a script, in a loop that runs 1,000,000 times.

Though that's not a very good benchmark of anything. If you're trying to simulate real demand, you need to have some concurrent activity, not just 1,000,000 queries issued and returned one at a time.



回答2:

From the MySQL Documentation:

CREATE PROCEDURE doiterate(p1 INT)
BEGIN
  label1: LOOP
    SET p1 = p1 + 1;
    (Your real query would go here)
    IF p1 < 10 THEN ITERATE label1; END IF;
    LEAVE label1;
  END LOOP label1;
  SET @x = p1;
END;

You could paste this code in phpmyadmin's SQL tab, then run it.



回答3:

i would suggest doing loop test from script level as this would give a better time of the demand.

SELECT benchmark (1000000, (select user from members limit 1));