Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 19085|Отговор: 2

[Източник] SQL Server създава индекс

[Копирай линк]
Публикувано в 20.09.2019 г. 9:31:08 ч. | | |
Концепцията за индексиране

Целта на създаването на индекс е да се подобри производителността на системата с база данни, да се ускори скоростта на заявки за данни и да се намали времето за отговор на системата.
Какво е индекс: Индексът в база данни е подобен на съдържанието на книга, където можете бързо да намерите желаната информация, без да прочетете цялата книга.
В база данни програмата използва индекси, за да прави бързи заявки за данни в таблица, без да се налага да сканира цялата таблица.
Съдържанието на книгата представлява списък с думи и номерата на страниците, в които се намират, а индексът в базата данни е списък със стойности в таблица, където всяка стойност се съхранява.
Плюсове и минуси на индексирането: Повечето от натоварването при изпълнение на заявки е входно/изходно, а една от основните цели при използването на индекси за подобряване на производителността е да се избегне пълно сканиране на таблици, тъй като сканирането на пълна таблица трябва да чете всяка страница с данни от диска, а ако има индекс, сочещ към стойност на данните, заявката трябва да се прочете само няколко пъти на диска.
Следователно разумното използване на индекси може да ускори заявките за данни. Въпреки това, индексите не винаги подобряват производителността на системата, индексираните таблици трябва да заемат повече място за съхранение в базата данни, а същата команда за промяна и изтриване на данни отнема повече време за изпълнение и поддръжка на индекса.
Затова трябва да използваме индекса разумно и да го актуализираме навреме, за да премахнем неоптималния индекс.

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

Индексът е подобен на съдържанието пред китайския речник и можете бързо да намерите думата, която искате да намерите според пинин или главната буква.
UNIQUE: Индексната стойност на всеки ред е уникална (създава се уникално ограничение и системата автоматично създава уникален индекс).
Индекс на първичния ключ: Колоната с първичен ключ, посочена при създаване на таблицата, автоматично създава индекс на първичен ключ и има уникални характеристики.
КЛЪСТЕРИРАНИ: Клъстерираните индекси са еквивалентни на използването на пинин търсене в речника, защото клъстерираният индекс съхранява записи, които са физически непрекъснати, т.е. пинин 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 ч. |
Когато полето за тест в таблицата Itsvse няма индекс, то се добавя

Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com