Индекс по полю

  • Автор темы Автор темы anpv
  • Дата начала Дата начала

anpv

Guest
Индекс по полю

Доброго времени суток.
Подскажите нужно ли создавать индекс по полю, если поле является первичным ключем?
 
если поле являеться PK значит он сразу же становится уникальным и ндексовым

вообщем не надо ни чего делать с ним
 
В общем таблица такая:
CREATE TABLE to_index_da (
depart mediumint(20) NOT NULL default '0',
ancest mediumint(20) NOT NULL default '0',
PRIMARY KEY (depart,ancest),
KEY ancest (ancest,depart)
) TYPE=InnoDB;
Без индекса запросы к ней выполняются в ~2 раза медленее, почему?
 
> без какого индекса ?
KEY ancest (ancest,depart)
или
KEY ancest (ancest)
KEY depart (depart)
> и какие запросы ?
Выборка, select.
 
Вот один из запросов:

SELECT i2.head FROM to_tourist t, to_index i, to_index i1, to_index i2, to_order o, to_index_da d
WHERE t.id=o.user_id AND o.place_id=i.id AND i1.id=i.parent AND d.ancest <> d.depart AND i2.id=d.ancest AND
d.depart=i1.id and t.id=9;
Таблица to_index
CREATE TABLE to_index (
id mediumint(20) NOT NULL auto_increment,
parent mediumint(20) NOT NULL default '0',
...
PRIMARY KEY (id),
KEY id (id,parent)
) TYPE=InnoDB;
и в ней тоже KEY id (id,parent)
 
Сверху