Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lect_DB.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
323.07 Кб
Скачать

Індекси.

Після задання первинного та вторинного ключів СУБД автоматично будує індекси, як механізми швидкого доступу до даних у таблицях.

Індекси містять впорядковані значення індексних полів і вказівник на запис у таблиці.

Наприклад, нехай є таблиця (рис. 1.11.)

Порядковий № запису

Дата приходу товару

Назва товару

Кількість, кг

1

10.12. 2007

Цукор

10

2

12.12. 2007

Картопля

50

3

12.12. 2007

Буряк

20

4

14.12. 2007

Цукор

50

5

14.12. 2007

Картопля

10

6

16.12. 2007

Сливи

4

Рис. 1.11. Фізична структура таблиці

З логічної точки зору індекси мають такий вигляд (рис. 1.12):

По даті приходу товару

По назві товару

По кількості

Дата приходу

№ запису

Товар

№ запису

Кількість

№ запису

10.12.2007

1

Буряк

3

4

6

12.12.2007

2

Картопля

2

10

1

12.12.2007

3

Картопля

5

10

5

14.12.2007

4

Сливи

6

20

3

14.12.2007

5

Цукор

1

50

2

16.12.2007

6

Цукор

4

50

4

Рис. 1 12 Логічна структура індексів

Зверніть увагу: значення полів в кожному індексі сортуються за зростанням, що суттєво прискрює пошук потрібних значень. Якщо, наприклад, потрібно вибрати всі записи з назвою товару "Картопля", нема потреби переглядати всю таблицю. Досить знайти в індексі, що побудований на стовпці "Назва товару", перший вказівник на запис, що містить товар "Картопля", і зчитати з таблиці цей запис, а потім повторити те ж для всіх інших вказівників в индексі на записи з товаром "Картопля".

Оскільки значення полів відсортовані, пошук першого вказівника виконується спеціальними методами швидкого пошуку і реалізується значно швидше, ніж якби пошук йшов по невідсортованим полям таблиці (послідовний метод доступу). Такий метод доступу до записів таблиці називається індексно-послідовним, тому що:

  • пошук йде по індексу, а не по самій таблиці;

  • доступ починається безпосередньо з першого рядка, що задовільняє умові запиту або його частині;

  • рядки в індексі, починаючи з першого знайденого запису, переглядаються послідовно.

У тому випадку, якщо в умови запиту входять поля, по яким не побудовано індексів, відшукується інший придатний індекс; якщо такого індекса немає, виконується послідовний перебір записів таблиці БД.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]