我正在嘗試使用MySQL基準測試一些查詢。但是,我遇到了一個錯誤。MySQL Benchmark
SELECT benchmark (10000, (select title from user));
,作爲回報,我得到這個錯誤;
ERROR 1242 (21000): Subquery returns more than 1 row
有誰知道如何基準查詢?
感謝
我正在嘗試使用MySQL基準測試一些查詢。但是,我遇到了一個錯誤。MySQL Benchmark
SELECT benchmark (10000, (select title from user));
,作爲回報,我得到這個錯誤;
ERROR 1242 (21000): Subquery returns more than 1 row
有誰知道如何基準查詢?
感謝
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
只有標量表達式可以使用。 雖然表達式可以是 子查詢,它必須返回一個 列,最多一行。對於 例如,BENCHMARK(10(SELECT * FROM 噸))如表T具有多個 比一列或多個行將會失敗。
嘗試
SELECT BENCHMARK(10000, (SELECT title FROM user LIMIT 1));
可以使用mysqlslap實用程序基準的查詢,請參閱: http://dev.mysql.com/doc/refman/5.1/en/mysqlslap.html
注:雖然這確實修復錯誤,這實際上不會幫助他對他想測試的查詢進行基準測試。 – 2009-12-28 19:47:43
我同意馬克。我不會相信基準。 – 2009-12-28 22:39:19