Общие > Базы данных
Работа с индексами при WHERE из разных столбцов
Certer:
У меня есть таблица USERS.
В этой таблице при помощи WHERE я ищу информацию по трем столбцам, например: ICQ, LOGIN, EMAIL.
Причем в поиске участвуют сразу по два, три или одному столбцу:
... WHERE ICQ=\'nnnn\'
... WHERE LOGIN=\'nnnn\' and EMAIL=\'xxxx\'
... WHERE ICQ=\'nnnn\' and LOGIN=\'nnn\' and EMAIL=\'nnnn\'
Так вот вопрос: как создать индексы? каждому столбцу отдельный индекс или сразу трем столбцам один индекс?
P/S: имеется ввиду база MySQL
commander:
Certer
типы данных вышеуказанных полей назови...
Certer:
EMAIL => varchar(60)
ICQ => int(10)
LOGIN => varchar(20)
commander:
Certer
1. на тип данных varchar - не эфективно ставить индексы.
2. на поле icq ты конечно можешь поставить индекс... но сильного изменения результата ты не заметишь...
в всязи с этим ещё один вопрос какое кол-во записей ты планируешь видеть в своей таблице?
Certer:
А почему на varchar не эффективно? на какие эффективно??
Если на поле ICQ тоже не надо ставить индекс, то получается и на int(10) не эффективно ставить индекс??
Кол-во записей 5 000 планирую.
Навигация
Перейти к полной версии