Общие > Базы данных
MySQL : temporary table (MEMORY) vs MyISAM
(1/1)
hanslinger:
Ситуация такая. Есть две таблицы. Одна («table1») — временная, ENGINE=MEMORY; вторая («table2») — MyISAM.
В каждой два поля: id (integer), md5 (char(32));
Выборка
--- Код: ---SELECT id FROM table1 WHERE id NOT IN (SELECT id FROM table2);
--- Конец кода ---
отрабатывает за секунду.
А выборка наоборот
--- Код: ---SELECT id FROM table2 WHERE id NOT IN (SELECT id FROM table1);
--- Конец кода ---
вешает сервак MySQL наглухо. Поставил LIMIT 0,1 — запрос отработал за 3 секунды.
Что можно придумать?
hanslinger:
Решил проблему, добавив индекс во временную таблицу. Я и не предполагал, что это настолько сказывается :)
Навигация
Перейти к полной версии