2009-12-28 11 views
11

Ich versuche, MySQL-Benchmark zu verwenden, um einige Abfragen zu testen. Aber ich laufe auf einen Fehler.MySQL Benchmark

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

und im Gegenzug bekomme ich diesen Fehler;

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

Kann jemand eine Abfrage benchmarken?

Dank

Antwort

-1

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

nur skalare Ausdrücke verwendet werden können. Obwohl der Ausdruck eine Unterabfrage sein kann, muss er eine einzelne Spalte und höchstens eine einzelne Zeile zurückgeben. Für Beispiel wird BENCHMARK (10, (SELECT * FROM t)) fehlschlagen, wenn die Tabelle t mehr als eine Spalte oder mehr als eine Zeile hat.

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

Hinweis: Während das tut behebe den Fehler, es wird ihm nicht helfen, die Abfrage zu testen, die er testen möchte. –

+1

Ich stimme mit Mark überein. Ich würde der Benchmark nicht vertrauen. –