Подтвердить что ты не робот

MySQL Benchmark

Я пытаюсь использовать тест MySQL для тестирования некоторых запросов. Но я бегу к ошибке.

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

и в ответ я получаю эту ошибку;

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

Кто-нибудь знает, как тестировать запрос?

Спасибо

4b9b3361

Ответ 1

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'

Ответ 3

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

Можно использовать только скалярные выражения. Хотя выражение может быть подзапрос, он должен вернуть один колонке и не более одной строки. Для пример, BENCHMARK (10, (SELECT * FROM t)), если таблица t имеет больше чем один столбец или более одной строки.

Try

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