0

Каковы хорошие примеры столбцов, для которых я никогда не должен создавать индекс? По моему мнению, кластеризованный индекс часто должен выполняться на первичных ключах (по умолчанию), поскольку он представляет базовые данные в целом. Но на каких столбцах я никогда не должен создавать некластеризованный индекс?Примеры столбцов для некластеризованного индекса

+1

Неверно, что кластерный индекс должен быть только первичным ключом. Оптимальный выбор для кластеризованного индекса зависит от того, как запрашивается таблица, которая часто, но не всегда является первичным ключом. –

+0

Благодарим за указание ошибки. :) – user2895589

ответ

1

Вы не можете сказать точно. Дело в том, что вы не можете создать индекс для любого столбца (или комбинации столбцов), который имеет максимальный размер более 900 байт, поэтому любые столбцы, такие как VARCHAR(1000) или VARCHAR(MAX), не могут быть проиндексированы.

За исключением этого - это действительно зависит от от вашей системы! Там нет волшебное правило какие колонки индексировать - или которых следует избегать.

В целом: меньше индексов лучше, чем слишком много. Большинство разработчиков БД имеют тенденцию чрезмерно индексировать свои базы данных, но, как я уже сказал, это действительно сильно зависит от конкретной ситуации вашей системы - здесь нет простых общих правил.

+0

Привет, спасибо за ответ. Я получу/дату/имя_компонента хорошего кандидата для кластеризации? Если да/нет, то почему? – user2895589

+0

Какие ** типы данных ** являются столбцами? Как правило, индекс ** ** ** (составленный из нескольких столбцов) и один, содержащий столбец ** переменной длины ** (например, 'customer_name ', скорее всего, являются ** не идеальными ** для индекса кластеризации –

+0

Пол. тип char и дата - тип Date.Is означает, что мы выбираем столбец на основе типа данных? На самом деле этот вопрос задавали в интервью. Какие столбцы (пол/дата/имя клиента/имя клиента) не являются хорошими кандидатами для индексирования? – user2895589

Смежные вопросы