Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 19085|Відповідь: 2

[Джерело] SQL Server створює індекс

[Копіювати посилання]
Опубліковано 20.09.2019 09:31:08 | | |
Поняття індексування

Мета створення індексу — покращити продуктивність системи бази даних, прискорити швидкість запитів до даних і скоротити час відповіді системи.
Що таке індекс: Індекс у базі даних схожий на зміст книги, де ви можете швидко знайти потрібну інформацію, не читаючи всю книгу.
У базі даних програма використовує індекси для швидкого запиту даних у таблиці без необхідності сканувати всю таблицю.
Зміст у книзі — це список слів і номерів сторінок, у яких вони розташовані, а індекс у базі даних — це список значень у таблиці, де зберігається кожне значення.
Плюси та мінуси індексації: Більшість накладних витрат на виконання запитів пов'язані з введенням/виведенням, і однією з головних цілей використання індексів для підвищення продуктивності є уникнення сканування повної таблиці, оскільки сканування повної таблиці має зчитувати кожну сторінку даних таблиці з диска, і якщо індекс вказує на значення даних, запит достатньо прочитати його лише кілька разів на диск.
Тому розумне використання індексів може прискорити запит до даних. Однак індекси не завжди покращують продуктивність системи, індексовані таблиці мають займати більше місця в базі даних, і та сама команда для зміни та видалення даних займає більше часу для запуску та підтримки індексу.
Тому ми повинні використовувати індекс розумно і оновлювати його вчасно, щоб усунути неоптимальний індекс.

Класифікація індексів

Індекс схожий на зміст перед китайським словником, і ви можете швидко знайти потрібне слово за піньінем або капіталом.
УНІКАЛЬНИЙ: Значення індексу кожного рядка є унікальним (створюється унікальне обмеження, і система автоматично створює унікальний індекс).
Індекс первинного ключа: стовпець первинного ключа, який визначається при створенні таблиці, автоматично створює індекс первинного ключа та має унікальні характеристики.
КЛАСТЕРИЗОВАНІ: Кластеризовані індекси еквівалентні пошуку піньїнь у словнику, оскільки кластеризований індекс зберігає записи, які є фізично неперервними, тобто піньїнь a має бути супроводжуваний b.
НЕКЛАСТЕРИЗОВАНІ: НЕКЛАСТЕРИЗОВАНІ індекси еквівалентні використанню словникових радикалів для пошуку, некластеризовані індекси логічно неперервні, а фізичне зберігання не є суцільним.
Кластеризований індекс може містити лише одну таблицю в таблиці, тоді як некластеризований індекс може мати більше однієї таблиці в таблиці.

Які поля потрібно індексувати

1. Первинний та зовнішній ключі таблиці повинні мати індекс
2. Таблиці з понад 300 даними повинні мати індекс
3. Таблиці, які часто пов'язані з іншими таблицями, мають бути індексовані на зв'язаних полях
4. Поля, які часто зустрічаються у клаузі Where, особливо у великих таблицях, слід індексувати
5. Поля, які часто сортуються або групуються (тобто виконують операції GROUP BY або ORDER BY), мають бути індексовані
6. Індекс має будуватися на дуже вибіркових полях
7. Індекс слід будувати на малих полях, для великих текстових полів або навіть наддовгих полів, не будувати індекси і використовувати цілі числа як можливі ключові значення, оскільки цілі числа мають найшвидшу швидкість доступу
8. Встановлення композитних індексів потребує ретельного аналізу; Спробуйте розглянути використання однополових індексів замість цього
9. Таблиці, які часто виконують маніпуляції даними, не повинні бути надто індексовані
10. Видалити непотрібні індекси, щоб уникнути негативного впливу на план виконання

Недолік надмірної кількості індексів

1. Об'єм зберігання стане більшим, і кожен індекс потрібно зберігати в просторі
2. Якщо існує багато некластеризованих індексів, після зміни кластеризованого індексу всі некластеризовані індекси відповідно зміняться
3. Занадто велика кількість індексів призведе до збільшення кількості комбінацій, які потрібно оцінити в процесі оптимізації, що збільшує час запиту
4. Кожен індекс містить статистичну інформацію, і чим більше індексів, тим більше інформації, що збільшує час запиту
5. Накладні витрати на оновлення: коли дані змінюються, а змінюється багато стовпців, це може спричинити зміну кількох індексів, що призводить до уповільнення оновлення, видалення та вставки








Попередній:Відео з відео з сильним акомпанементом підлітка
Наступний:C# отримує поточну літеру системного диска, системний каталог, робочий стіл тощо
 Орендодавець| Опубліковано 27.12.2020 11:56:05 |
CREATE INDEX PersonIndex ON Ім'я таблиці (Ім'я поля)

DROP INDEX PersonIndex ON назва таблиці
 Орендодавець| Опубліковано 24.02.2021 15:16:27 |
Коли поле Test таблиці Itsvse не має індексу, воно додається

Застереження:
Усе програмне забезпечення, програмні матеріали або статті, опубліковані Code Farmer Network, призначені лише для навчання та досліджень; Вищезазначений контент не повинен використовуватися в комерційних чи незаконних цілях, інакше користувачі несуть усі наслідки. Інформація на цьому сайті надходить з Інтернету, і спори щодо авторських прав не мають до цього сайту. Ви повинні повністю видалити вищезазначений контент зі свого комп'ютера протягом 24 годин після завантаження. Якщо вам подобається програма, будь ласка, підтримуйте справжнє програмне забезпечення, купуйте реєстрацію та отримайте кращі справжні послуги. Якщо є будь-яке порушення, будь ласка, зв'яжіться з нами електронною поштою.

Mail To:help@itsvse.com