SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 09.03.2011 06:15:00

myjoin
Участник
Зарегистрирован: 09.03.2011
Сообщений: 2

Индексы

Здравствуйте, уважаемые профессионалы.
В MySQL я к сожалению не профи, поэтому решил обратиться к вам.

Есть пару вопросов:
1. К примеру, нужно выполнить поиск по трем или четырем полям БД. Есть ли смысл создавать составной индекс по этим трем-четырем полям. Или достаточно создать индексы для каждого поля в отдельности.

2. Как много индексов можно создавать для оной таблицы.
К примеру, есть таблица с объявлениями, состоящая из следующих полей (поля перечислены не все):
- ad_id (ID объявления)
- region_id (ID области)
- city_id (ID города)
- user_id (ID автора объявления)
- operation (выполняемая операция над объявлениями - купля, продажа, обмен (хранится в поле типа enum))
- type (тип недвижимости - дом, квартира, дача, земля, пр. (так же хранится в поле типа enum))

Так вот. Каждое из этих полей участвует в частой выборке данных. К примеру:
- просмотр объявлений по области
- просмотр объявлений по городу
- просмотр объявлений по типу недвижимости и по области
- просмотр объявлений по типу недвижимости и по городу
и другие

В сумме у меня получилось 9-ть индексов (в том числе и составных).

Подскажите пожалуйста, так поступать можно (т.е. не накладно ли будет это для таблицы)?

Если что нибудь сможете подсказать по моим вопросам, буду очень благодарен.
Спасибо.

Неактивен

 

#2 09.03.2011 11:48:59

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Индексы

1.  FAQ №5

2.  Индексов нужно создавать столько сколько нужно, но не более, так как индексы замедляют работу на вставку/обновление данных.

Неактивен

 

#3 09.03.2011 16:27:10

myjoin
Участник
Зарегистрирован: 09.03.2011
Сообщений: 2

Re: Индексы

Благодарю за ответ!

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson