MySQL Benchmark

前端 未结 3 786
盖世英雄少女心
盖世英雄少女心 2021-01-02 05:35

I am trying to use MySQL benchmark to test some queries. But, I am running to an error.

SELECT benchmark (10000, (select title from user));
<
相关标签:
3条回答
  • 2021-01-02 05:40
    select title from user
    

    This returns multiple rows, which won't work.

    Refer to this link: http://dev.mysql.com/doc/refman/5.0/en/information-functions.html#function_benchmark

    The expression you pass must return a scalar result.

    You need to change the query such that it returns a single row: ex:

    select title from user where user_name = 'some_user'
    
    0 讨论(0)
  • 2021-01-02 05:53

    you can use the mysqlslap utility to benchmark queries, see: http://dev.mysql.com/doc/refman/5.1/en/mysqlslap.html

    0 讨论(0)
  • 2021-01-02 06:01

    From http://dev.mysql.com/doc/refman/5.0/en/information-functions.html#function_benchmark

    Only scalar expressions can be used. Although the expression can be a subquery, it must return a single column and at most a single row. For example, BENCHMARK(10, (SELECT * FROM t)) will fail if the table t has more than one column or more than one row.

    Try

    SELECT BENCHMARK(10000, (SELECT title FROM user LIMIT 1));
    
    0 讨论(0)
提交回复
热议问题