11

MySQL ベンチマークを使用していくつかのクエリをテストしようとしています。しかし、私はエラーが発生しています。

SELECT benchmark (10000, (select title from user));

その見返りに、このエラーが発生します。

ERROR 1242 (21000): Subquery returns more than 1 row

クエリをベンチマークする方法を知っている人はいますか?

ありがとう

4

3 に答える 3

11

mysqlslap ユーティリティを使用してクエリのベンチマークを実行できます。次を参照してください: http://dev.mysql.com/doc/refman/5.1/en/mysqlslap.html

于 2009-12-28T21:50:29.560 に答える
11
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'
于 2009-12-28T19:41:34.173 に答える
-1

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));
于 2009-12-28T19:40:58.943 に答える