разработка индекса для базы данных web-cms - PullRequest
1 голос
/ 05 октября 2010

У меня есть вопрос, не могли бы вы мне помочь?Я разработал базу данных для веб-cms в таблице User_, которая включает в себя: UserID, Username, Password, FirstName, LastName,… _, который является наилучшим выбором для создания индекса для него, username или FirstName и LastName?Или они оба?По умолчанию UserID является кластеризованным индексом пользовательской таблицы, поэтому следующий индекс должен быть некластеризованным.Но я не уверен, что UserID будет кластеризованным индексом.Поскольку это веб-сайт, и многие пользователи могут ежедневно регистрировать или удалять свои учетные записи, является ли это хорошим выбором для создания кластерного индекса по идентификатору пользователя?я использую sql server 2008

1 Ответ

1 голос
/ 05 октября 2010

Вы должны определить кластеризованные индексы для полей, которые часто запрашиваются последовательно, или содержат большое количество различных значений или используются в запросах к объединяемым таблицам. Так что обычно это означает, что первичный ключ является хорошим кандидатом.

Некластеризованные индексы хороши для полей, которые используются в предложении where запросов.

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

Что касается лиц, удаляющих свои учетные записи, я уверен, что вы не намерены удалять строку из таблицы. Обычно вы просто помечаете их как неактивные, потому что происходит со всеми другими связанными таблицами, на которые может влиять этот пользователь?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...