Проблема с джойном

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

что тоже не очень радует,
с чем может быть связано, как исправить?
 

alpine

Новичок
ZN
Рассказывай подробнее зачем нужна таблица Items с одним автоинкрементным полем и зачем ее потом джоинить с таблицей rates.
 
Сверху