2009-12-28 7 views
11

Próbuję użyć testu porównawczego MySQL do przetestowania niektórych zapytań. Ale mam błąd.MySQL Benchmark

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

iw zamian otrzymuję ten błąd;

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

Czy ktoś wie jak przeprowadzić analizę porównawczą zapytania?

Dzięki

Odpowiedz

-1

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

wyrażeń Tylko skalarne mogą być użyte. Mimo że wyrażenie może być podzapytaniem , musi zwracać pojedynczą kolumnę i co najwyżej jeden wiersz. W przypadku przykładu , BENCHMARK (10, (SELECT * FROM t)) nie powiedzie się, jeśli tabela t ma więcej niż jedna kolumna lub więcej niż jeden wiersz.

Spróbuj

SELECT BENCHMARK(10000, (SELECT title FROM user LIMIT 1)); 
+1

Uwaga: Mimo, że nie napraw błąd, to nie pomoże mu przetestować zapytania, które chce przetestować. –

+1

Zgadzam się z Markiem. Nie zaufałbym benchmarkowi. –