Какие столбцы обычно дают хорошие показатели? - PullRequest
84 голосов
/ 20 сентября 2008

Как продолжение к « Что такое индексы и как я могу использовать их для оптимизации запросов в моей базе данных? », где я пытаюсь узнать об индексах, какие столбцы являются хорошими кандидатами в индексы? Специально для базы данных MS SQL?

После некоторого поиска в Google все, что я прочитал, говорит о том, что столбцы, которые обычно увеличиваются и уникальны, дают хороший индекс (такие вещи, как auto_increment в MySQL), я понимаю это, но я использую MS SQL и использую GUID для первичных ключей так что кажется, что индексы не выиграют колонки GUID ...

Ответы [ 12 ]

0 голосов
/ 20 сентября 2008

Эмпирическим правилом были столбцы, которые часто используются в предложениях WHERE, ORDER BY и GROUP BY, или столбцы, которые часто использовались в соединениях. Имейте в виду, я имею в виду индексы, а не первичный ключ

Не дать ответ «ванильный», но это действительно зависит от того, как вы получаете доступ к данным

0 голосов
/ 20 сентября 2008

Это должно быть еще быстрее, если вы используете GUID. Предположим, у вас есть записи

  1. 100
  2. 200
  3. 3000
  4. ....

Если у вас есть индекс (двоичный поиск, вы можете найти физическое местоположение искомой записи за время O (lg n) вместо последовательного поиска за O (n). Это потому, что вы не знаете, что записей в вашей таблице.

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