У меня есть таблица с тремя колонками. Он имеет уникальный индекс и еще два (для двух разных столбцов) для более быстрых запросов.Два не первичных/уникальных индекса в таблице из трех столбцов
+-------------+-------------+----------+
| category_id | related_id | position |
+-------------+-------------+----------+
Иногда запрос
SELECT * FROM table WHERE category_id = foo
и иногда это
SELECT * FROM table WHERE related_id = foo
Так что я решил сделать как category_id
и related_id
индекс для лучшей производительности. Это плохая практика? Каковы недостатки такого подхода?
В случае, если у меня уже есть 100 000 строк в этой таблице, и я вставляю еще 100 000, это будет перебор. нужно обновить индекс с каждой новой вставкой? Будет ли эта операция слишком длительной? Спасибо
Вы имеете в виду, что вы сделали КАЖДЫЙ один индекс? тогда хорошо. Недостатком является то, что вы должны поддерживать этот индекс во время вставки или обновления. обычно не слишком много накладных расходов. – Randy
есть, каждый. Итак, в случае, если у меня уже есть 100 000 строк в этой таблице, и я вставляю еще 100 000, это будет излишним, нужно обновить индекс каждой новой вставкой? Будет ли эта операция слишком длительной? – srgb