| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Базы Данных > Индексирование для поиска по БД |
| Автор: duante 28.4.2009, 13:18 |
| Собственно, вопрос у меня нубский, особо никогда не вдавался в индексацию. Так вот, допустим в таблице (usr) три столбца (id, name, prop) в ней 500.000 записей. Я так понимаю, что после добавления одной строки происходит переиндексация или обновление индекса. Так вот вопрос: индекс содержит данные о всех полях всех трех столбцов? Т.е. можно искать с одинаковыми затратами времени и ресурсов по всем трем столбцам? Или же это надо где-то указать? |
| Автор: skyboy 28.4.2009, 14:37 |
| индекс распространяется только на те поля("столбцы"), для которых он создан. Создан индекс на одно поле - только для поиска по этому полю и будет использоваться. Создан на два поля - может использоваться на первое по порядку(порядку объявления в индексе) или на оба(но в порядке объявления в индексе). |
| Автор: duante 28.4.2009, 15:19 |
| Хорошо. Как создать индексы на нужные поля? только CREATE INDEX или есть другие способы и какие? извиняюсь, конечно, за такие вопросы, но мне достаточно сказать один раз )) |
| Автор: skyboy 28.4.2009, 17:10 |
альтернатива ради альтернативы? Ну, в принципе, можно и в http://dev.mysql.com/doc/refman/5.1/en/create-table.html указать индексы. |