Индексы
241
содержимое столбца
name
. Если имя отдела начинается с
'A'
, строка до
бавляется в результирующий набор.
Для таблицы, состоящей только из трех строк, этот метод хорош.
А представьте, сколько времени потребуется, чтобы ответить на этот
запрос, если в таблице 3 000 000 строк? При некотором числе строк
(больше трех и меньше 3 000 000) сервер достигает того предела, когда
уже не успевает ответить на запрос в течение приемлемого промежут
ка времени без дополнительной помощи. Эта помощь приходит в фор
ме одного или нескольких
индексов
таблицы
department
.
Даже если вы ни разу не слышали об индексе БД, вы, безусловно, знае
те, что такое индекс (в этой книге он тоже есть). Индекс – это просто
механизм поиска определенного элемента ресурса. Например, в конце
каждого технического издания есть предметный указатель, позволяю
щий найти определенное слово или фразу. В указателе эти слова и фра
зы перечислены в алфавитном порядке, что позволяет читателю быст
ро перейти к определенной букве, выбрать нужную запись и затем най
ти страницу или страницы, где можно отыскать это слово или фразу.
Как человек использует предметный указатель, чтобы найти слова
в печатном издании, так и сервер БД с помощью индексов выявляет
местоположение строк в таблице. Индексы – это специальные табли
цы, содержимое которых, в отличие от обычных таблиц данных,
хра
нится
в определенном порядке. Однако индекс включает не
все
данные
сущности, а только столбец (или столбцы), используемый для опреде
ления местоположения строк в таблице данных, а также информацию,
описывающую физическое размещение строк. Поэтому предназначе
ние индексов – помочь в извлечении подмножества строк и столбцов
таблицы
без
необходимости проверять все строки.
Достарыңызбен бөлісу: