Многостолбцовые индексы/индексация

  • Автор темы Феликс
  • Дата начала

Феликс

Guest
Многостолбцовые индексы/индексация

Продолжая "гнуть свою гнусную линию" =))

Вот прочел документацию по MySQL на офф сайте. http://dev.mysql.com/doc/refman/4.0/ru/multiple-column-indexes.html

mysql> CREATE TABLE test (
-> id INT NOT NULL,
-> last_name CHAR(30) NOT NULL,
-> first_name CHAR(30) NOT NULL,
-> PRIMARY KEY (id),
-> INDEX name (last_name,first_name));

Всю жизнь я свято верил в то индексом в таблице является то что стоит в скобках после PRIMARY KEY (<вот_тут>). А что тогда такое INDEX name (last_name,first_name))?

Короче, зачем я туда вообще полез, зачем мне это надо: есть табличка (id, owner, ...). Как уже говорилось я делаю РПГ'шку. В табличке у нас будет хранится инфа о вещи и кто является ее владельцем. Как ПК (примари ки) сделать поле owner, насколько я знаю, нельзя. Поэтому и существует поле id. Но выбирать строки из таблицы я буду именно по id владельца, то есть по полю owner. Следовательно нужно как-то проиндексировать 2 столбца. Еще короче, цель - ускорение поиска.

Теперь главный вопрос: правильно ли я размышляю и как енто реализовать?

P.S Сорри за кучу вопросов, просто я не только хочу решить проблему, но и полностью разобраться в способе ее решения.
 

Фанат

oncle terrible
Команда форума
не нудно тебе поле id
просто ид владельца и ид вещи.
оба эти поля индексируешь с помощью index, только по отдельности
 

Феликс

Guest
Ага. Понятно. =) а можно еще примерчик для наглядности? Или я правильно понял: INDEX name (id_item), INDEX name (id_player)? =))
 
Сверху