memsql — форматированный запрос занимает больше времени, чем неформатированный запрос

Почему форматированный запрос занимает больше времени, чем неформатированный запрос? Также обратите внимание, что я запускал запросы много раз (поэтому учитывается кэширование плана)

Означает ли это, что memsql плохо обрабатывает формат запросов?

Например, я попробовал следующий запрос (неформатированный)

select count(*) from users where users.rep > 5;
+----------+
| count(*) |
+----------+
|      589 |
+----------+
1 row in set (0.01 sec)

Но удивительно, что тот же запрос в форматированном виде занимает больше времени.

SELECT
  COUNT(*)
FROM
  users
WHERE
  users.rep > 5 ;
+----------+
| count(*) |
+----------+
|      589 |
+----------+
1 row in set (1.39 sec)

person Vivek Aditya    schedule 08.09.2015    source источник


Ответы (1)


С memsql вам нужно дождаться компиляции кода при первом запуске запроса, а форматированный запрос считается «другим запросом», чем неформатированный. Пробел имеет значение! Попробуйте снова запустить отформатированную версию.

Как правило, запросы MemSQL выполняются быстро только во второй раз.
См. http://docs.memsql.com/4.0/concepts/codegen/

person Joseph Victor    schedule 08.09.2015
comment
Я выполнял как форматированные, так и неформатированные запросы несколько раз. все тот же результат. Почему memsql так плохо обрабатывает форматированные запросы? - person Vivek Aditya; 08.09.2015
comment
Во время выполнения не должно быть абсолютно никакой разницы... Вы можете использовать information_schema.plancache, чтобы дважды проверить, перекомпилируете ли вы много разных запросов. Но не должно быть никакой разницы в производительности этих запросов. - person Joseph Victor; 08.09.2015
comment
Попробуйте и дайте мне знать @Joseph. Я получил лучшие результаты с неформатированными запросами. - person Vivek Aditya; 08.09.2015
comment
Привет, ysaditya, можешь зайти на chat.memsql.com? Это должно быть простой проблемой для отладки. - person Joseph Victor; 08.09.2015