MySQL ベンチマークを使用していくつかのクエリをテストしようとしています。しかし、私はエラーが発生しています。
SELECT benchmark (10000, (select title from user));
その見返りに、このエラーが発生します。
ERROR 1242 (21000): Subquery returns more than 1 row
クエリをベンチマークする方法を知っている人はいますか?
ありがとう
MySQL ベンチマークを使用していくつかのクエリをテストしようとしています。しかし、私はエラーが発生しています。
SELECT benchmark (10000, (select title from user));
その見返りに、このエラーが発生します。
ERROR 1242 (21000): Subquery returns more than 1 row
クエリをベンチマークする方法を知っている人はいますか?
ありがとう
mysqlslap ユーティリティを使用してクエリのベンチマークを実行できます。次を参照してください: http://dev.mysql.com/doc/refman/5.1/en/mysqlslap.html
select title from user
これは複数の行を返しますが、機能しません。
このリンクを参照してください: http://dev.mysql.com/doc/refman/5.0/en/information-functions.html#function_benchmark
渡す式は、スカラー結果を返す必要があります。
単一の行を返すようにクエリを変更する必要があります: 例:
select title from user where user_name = 'some_user'
http://dev.mysql.com/doc/refman/5.0/en/information-functions.html#function_benchmarkから
スカラー式のみ使用できます。式はサブクエリにすることができますが、1 つの列と多くても 1 つの行を返す必要があります。たとえば、テーブル t に複数の列または複数の行がある場合、BENCHMARK(10, (SELECT * FROM t)) は失敗します。
試す
SELECT BENCHMARK(10000, (SELECT title FROM user LIMIT 1));