metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2010-12-16 09:43 am

Prepare запросов

Использование MySQL как NoSQL

Они там в начале профилируют выполнение поиска по первичному ключу в MySQL (в противовес летающему memcached) и у меня мозг споткнулся на следующей фразе:
MYSQLparse() и MYSQLlex() были вызваны в процессе разбора SQL запроса. make_join_statistics() и JOIN::optimize() были вызваны в фазе оптимизации запроса. Это и есть "SQL-оверхед".

Это, простите, как? Запрос для поиска по первичному ключу парсится и препарится каждый раз заново, использовать подготовленные заранее запросы невозможно или авторы этого не знают?

[identity profile] gds.livejournal.com 2010-12-16 09:27 am (UTC)(link)
раньше mysql не умел prepared statements. Клиент склеивал sql, слал на сервер, так всё и работало. Интересно, это уже поправили, или как раз это связано с обсуждаемой проблемой?

[identity profile] basanov.livejournal.com 2010-12-16 08:31 pm (UTC)(link)
Кстати да. Не знал, что Мускуль умеет препарить стейтменты. =) Помнится действительно клеил и вообще.