ZN
Новичок
Проблема с джойном
Помогите разобраться, есть такая проблема:
Есть две таблицы
CREATE TABLE `items` (
`id` int(11) unsigned NOT NULL auto_increment,
PRIMARY KEY (`id`),
UNIQUE KEY `id` (`id`)
) ENGINE=MyISAM;
и
CREATE TABLE `rates` (
`id` int(11) unsigned NOT NULL,
`rate` int(11) NOT NULL default '0',
PRIMARY KEY (`id`),
UNIQUE KEY `id` (`id`)
) ENGINE=MyISAM;
И нехитрый запрос:
SELECT `rate` FROM `rates` LEFT JOIN `items` USING (`Id`)
Иногда выполнение для ~30000 записей в обоих таблицах занимает больше 2-х секунд,
EXPLAIN показывает следующее:
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE rates ALL 33168 ""
1 SIMPLE items eq_ref PRIMARY,id PRIMARY 4 mydreams.rates.id 1 Using index
то есть имеем полный перебор,
если создать составной индекс из полей `rates`.`id` и `rates`.`rate` то получаем:
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE rates index rateid 8 33168 Using index
1 SIMPLE items eq_ref PRIMARY,id PRIMARY 4 mydreams.rates.id 1 Using index
что тоже не очень радует,
с чем может быть связано, как исправить?
Помогите разобраться, есть такая проблема:
Есть две таблицы
CREATE TABLE `items` (
`id` int(11) unsigned NOT NULL auto_increment,
PRIMARY KEY (`id`),
UNIQUE KEY `id` (`id`)
) ENGINE=MyISAM;
и
CREATE TABLE `rates` (
`id` int(11) unsigned NOT NULL,
`rate` int(11) NOT NULL default '0',
PRIMARY KEY (`id`),
UNIQUE KEY `id` (`id`)
) ENGINE=MyISAM;
И нехитрый запрос:
SELECT `rate` FROM `rates` LEFT JOIN `items` USING (`Id`)
Иногда выполнение для ~30000 записей в обоих таблицах занимает больше 2-х секунд,
EXPLAIN показывает следующее:
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE rates ALL 33168 ""
1 SIMPLE items eq_ref PRIMARY,id PRIMARY 4 mydreams.rates.id 1 Using index
то есть имеем полный перебор,
если создать составной индекс из полей `rates`.`id` и `rates`.`rate` то получаем:
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE rates index rateid 8 33168 Using index
1 SIMPLE items eq_ref PRIMARY,id PRIMARY 4 mydreams.rates.id 1 Using index
что тоже не очень радует,
с чем может быть связано, как исправить?