Индексирование баз данных - PullRequest
0 голосов
/ 08 июня 2009

если мы создадим индекс по первичному ключу таблицы, как это увеличит производительность ,,, как если бы нужная запись после создания индекса могла оказаться в конце списка индексов !!

Ответы [ 5 ]

2 голосов
/ 08 июня 2009

Я думаю, вы ошибаетесь в своем понимании того, как работают индексы. Это не списки.

Вводное чтение по индексам см. В статье Википедии .

1 голос
/ 08 июня 2009

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

Таким образом, если строка будет добавлена ​​после создания индекса, она будет помещена в индекс в правильном месте.

Если это правильно, поместите IS в конец списка, это все еще быстрее, потому что база данных будет использовать Бинарный поиск (или другой оптимизированный алгоритм поиска), чтобы найти элемент, что приведет к гораздо меньшему количеству чтений, чем полное сканирование таблицы.

Надеюсь, это поможет,

1 голос
/ 08 июня 2009

Современные базы данных всегда имеют индекс по первичному ключу. Создание другого в лучшем случае ничего не изменит для вашей производительности.

0 голосов
/ 08 июня 2009

Означает ли это, что без поиска алгоритмов индексация не принесет пользы ????

0 голосов
/ 08 июня 2009

Индекс обычно сортируется. База данных может затем использовать бинарный поиск и другие механизмы для обеспечения эффективности поиска нужного элемента. Кроме того, таблица использует первичный ключ в качестве кластеризованного индекса (обычно) - данные в таблице располагаются в том же порядке, что и этот индекс, что означает, что поиск данных по этому индексу еще быстрее.

...