Должен ли я использовать индекс для таблицы, которая часто обновляется?

0

В моей таблице комментариев есть 150 000 записей, и в день добавляется около 1000 новых комментариев... Интересно, следует ли мне использовать индексы в таблице, как это? Будет ли это иметь положительное или отрицательное влияние на производительность? Я использую mysql...

Теги:

4 ответа

3
Лучший ответ

Сравните количество INSERT и SELECT в этой таблице. Вы делаете 1000 INSERT в день, что даже не один раз в минуту. Но при отображении результатов на веб-странице вы, вероятно, еще много SELECT. И если посетитель должен ждать несколько секунд каждый раз, когда он нажимает на ссылку, чтобы просмотреть больше комментариев, тогда вы делаете математику...

EDIT: используйте индекс.

2

Это, безусловно, негативное воздействие и может также иметь положительное влияние:

Отрицательный: каждый индекс должен обновляться всякий раз, когда вы вставляете/удаляете строку или обновляете столбец индекса.

Положительный: извлечение данных может иметь ОГРОМНОЕ преимущество от индекса (если определено правильно)

Однако 1000 вставок в день на самом деле не очень много, у вас есть очень хорошие шансы, что преимущества правильно определенных индексов перевесят накладные расходы.

2

Не видя, какие запросы SELECT вы делаете и что такое схема, невозможно определить, будут ли использоваться даже индексы, не говоря уже о помощи. Например, если ваши данные имеют низкую мощность, или вы делаете такие запросы, как

where MyColumn like '%somestring%'

то индексы не помогут. Вам нужно больше информации.

1

Вам не следует индексировать часто обновляемые столбцы, такие как view_counter и т.д.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню