В моей таблице комментариев есть 150 000 записей, и в день добавляется около 1000 новых комментариев... Интересно, следует ли мне использовать индексы в таблице, как это? Будет ли это иметь положительное или отрицательное влияние на производительность? Я использую mysql...
Сравните количество INSERT и SELECT в этой таблице. Вы делаете 1000 INSERT в день, что даже не один раз в минуту. Но при отображении результатов на веб-странице вы, вероятно, еще много SELECT. И если посетитель должен ждать несколько секунд каждый раз, когда он нажимает на ссылку, чтобы просмотреть больше комментариев, тогда вы делаете математику...
EDIT: используйте индекс.
Это, безусловно, негативное воздействие и может также иметь положительное влияние:
Отрицательный: каждый индекс должен обновляться всякий раз, когда вы вставляете/удаляете строку или обновляете столбец индекса.
Положительный: извлечение данных может иметь ОГРОМНОЕ преимущество от индекса (если определено правильно)
Однако 1000 вставок в день на самом деле не очень много, у вас есть очень хорошие шансы, что преимущества правильно определенных индексов перевесят накладные расходы.
Не видя, какие запросы SELECT
вы делаете и что такое схема, невозможно определить, будут ли использоваться даже индексы, не говоря уже о помощи. Например, если ваши данные имеют низкую мощность, или вы делаете такие запросы, как
where MyColumn like '%somestring%'
то индексы не помогут. Вам нужно больше информации.
Вам не следует индексировать часто обновляемые столбцы, такие как view_counter и т.д.