Почему в индексированном поле поиск происходит быстрее

Работа VB и СУБД (Access, MSSQL, MySQL, Oracle и пр.)
Правила форума
При создании новой темы не забывайте указывать используемую СУБД.
Vitaly1
Брехман
Брехман
 
Сообщения: 1578
Зарегистрирован: 30.12.2002 (Пн) 16:35
Откуда: Russia, Mosсow

Почему в индексированном поле поиск происходит быстрее

Сообщение Vitaly1 » 18.06.2003 (Ср) 12:16

Почему в индексированном поле поиск происходит быстрее чем не в индексированном?

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 18.06.2003 (Ср) 12:20

В двух словах:

Индекс - это маленький кусочек базы данных, хранящийся физически отдельно от основных данных. Поэтому обращение к нему всегда будет намного быстрее чем к основной баез в силу того, что колчисетво обрабатываемых даных меньше.

Vitaly1
Брехман
Брехман
 
Сообщения: 1578
Зарегистрирован: 30.12.2002 (Пн) 16:35
Откуда: Russia, Mosсow

Сообщение Vitaly1 » 18.06.2003 (Ср) 15:39

RayShade спасибо, на простом уровне и понятно.

Так значит индексированное поле занимает больше дисковой памяти, чем не индексированное?

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 18.06.2003 (Ср) 16:08

Индексированное поле ничем не отличается от неиндексированного. Есть таблица, а есть индекс(ы) к этой таблице.
Если ты об MS Access, то в конструкторе у поля "есть" свойство "Индексированное поле" только для пользователей, далеких от технических деталей, на самом деле такого свойства нет.

И еще, не обижайся, но подобный вопрос не стоит задавать в этом разделе, в крайнем случае в "Трепе". Лучше сходи на хотя бы на http://www.ifcity.info/mtitle.phtml?id=2 (раздел "Базы данных - индексы") или http://www.mstu.edu.ru/education/materi ... v/toc.html, а еще лучше поищи информацию на Яndex
Lasciate ogni speranza, voi ch'entrate.

ASD
Модератор
Модератор
Аватара пользователя
 
Сообщения: 1758
Зарегистрирован: 07.12.2001 (Пт) 21:08
Откуда: Russia

Сообщение ASD » 19.06.2003 (Чт) 8:54

От себя добавлю.
При индексировании, данные в базе распологаются в порядке индексации. По тому и быстрее.
Moderator VBStreets
---------------------------

boevik
Обычный пользователь
Обычный пользователь
 
Сообщения: 72
Зарегистрирован: 23.07.2002 (Вт) 11:44
Откуда: Israel

Сообщение boevik » 19.06.2003 (Чт) 9:21

ASD писал(а):При индексировании, данные в базе распологаются в порядке индексации.

Только в том случае, если это cluster index (он может быть единственным в таблице). Остальные индексы не влияют на физическое расположение данных в таблице.

Vitaly1
Брехман
Брехман
 
Сообщения: 1578
Зарегистрирован: 30.12.2002 (Пн) 16:35
Откуда: Russia, Mosсow

Сообщение Vitaly1 » 19.06.2003 (Чт) 13:17

Добавочная информация по индексированому полю:

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


Вернуться в Базы данных

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 243

    TopList