Духовность™
Продвинутый новичок
Объясните про индексы
Я никак не могу понять, в каких случаях использовать многостолбцовый индекс, а в каких раздельный!
Допустим, есть таблица:
[sql]CREATE TABLE `users_groups_operations` (
`id_group` smallint(5) unsigned NOT NULL,
`id_action` tinyint(3) unsigned NOT NULL,
`id_operation` tinyint(3) unsigned NOT NULL,
`access` tinyint(1) unsigned NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;[/sql]
в код будет такая выборка:
[sql]
SELECT
`id_operation`,
`access`
FROM
`users_groups_operations`
WHERE
`id_group` = 1
AND
`id_action` = 1
[/sql]
Тут, судя по всему, надо сделать индекс на поле `id_group` и на поле `id_action`, ибо по ним идет выборка. Только какой? Многостобцовый? Или на каждое поле свой индекс?
Я никак не могу понять, в каких случаях использовать многостолбцовый индекс, а в каких раздельный!

Допустим, есть таблица:
[sql]CREATE TABLE `users_groups_operations` (
`id_group` smallint(5) unsigned NOT NULL,
`id_action` tinyint(3) unsigned NOT NULL,
`id_operation` tinyint(3) unsigned NOT NULL,
`access` tinyint(1) unsigned NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;[/sql]
в код будет такая выборка:
[sql]
SELECT
`id_operation`,
`access`
FROM
`users_groups_operations`
WHERE
`id_group` = 1
AND
`id_action` = 1
[/sql]
Тут, судя по всему, надо сделать индекс на поле `id_group` и на поле `id_action`, ибо по ним идет выборка. Только какой? Многостобцовый? Или на каждое поле свой индекс?