Forum Webscript.Ru

Общие => Базы данных => Тема начата: hanslinger от 10 Февраля 2006, 15:16:45

Название: MySQL : temporary table (MEMORY) vs MyISAM
Отправлено: hanslinger от 10 Февраля 2006, 15:16:45
Ситуация такая. Есть две таблицы. Одна («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 секунды.
Что можно придумать?
Название: MySQL : temporary table (MEMORY) vs MyISAM
Отправлено: hanslinger от 10 Февраля 2006, 15:28:43
Решил проблему, добавив индекс во временную таблицу. Я и не предполагал, что это настолько сказывается :)