Сколько индексов является предпочтительным для одной таблицы в MySQL?Сколько индексов на таблицу базы данных?
У меня есть таблица company
, где я ищу в основном для ID
, state
и category
.
Сколько индексов является предпочтительным для одной таблицы в MySQL?Сколько индексов на таблицу базы данных?
У меня есть таблица company
, где я ищу в основном для ID
, state
и category
.
На этот вопрос нет ни одного ответа: создайте столько индексов, чтобы сделать ваши запросы достаточно быстрыми и не более.
Вы должны балансировать различные вещи при принятии решения о том, что индекс:
Для вашего конкретного сценария это похоже на три индекса: один на ID (если это первичный ключ, то он уже имеет неявный индекс), один по состоянию и один по категории, будет достаточным.
Я сомневаюсь, что государство или категория будут полезны сами по себе. Но без мощности нет никакого способа узнать. Если они занимаются бизнесом во всех 50 (53) штатах, то, возможно, вы получите до 1-5% таблицы через эти индексы, но если это региональный бизнес, который занимается бизнесом в основном в 10 штатах, то он, вероятно, не будет достаточно низким фактор кластеризации. –
Нет «предпочтительного» количества индексов, все зависит от ваших запросов. В вашем примере вам потребуется не более трех индексов, один для ID, один для состояния и один для категории.
Какие запросы вы будете использовать в этой таблице? вставить, переустановить, выбрать, удалить? –
Более подробная информация поможет. Мы должны угадать, что идентификатор, вероятно, является вашим основным ключом, а не составным идентификатором и категорией (что вполне возможно). Если вы опубликуете схему, у нас будет лучшая идея. – wlangstroth
Вы ищете «FOR» id, state, cat или ищете «BY» их. Для меня «FOR» означает, что они находятся в списке выбора. например Я ищу песни BY BY BY. BY находится в предложении where. –