Изменения документа Индексы
Редактировал(а) Alexandr Fokin 2024/04/29 13:39
<
>
отредактировано Alexandr Fokin
на 2022/07/11 19:32
на 2022/07/11 19:32
отредактировано Alexandr Fokin
на 2020/06/13 12:53
на 2020/06/13 12:53
Изменить комментарий:
Добавлен тег [index]
Комментарий
-
Свойства страницы (3 изменено, 0 добавлено, 0 удалено)
-
Объекты (1 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Родительский документ
-
... ... @@ -1,1 +1,1 @@ 1 -Разработка.Базы данных. SQL.Механизмы.WebHome1 +Разработка.Базы данных.WebHome - Теги
-
... ... @@ -1,1 +1,1 @@ 1 -Индекс|index |Полнотекстовый поиск1 +Индекс|index - Содержимое
-
... ... @@ -1,47 +2,23 @@ 1 -=== Основные тезисы: === 2 2 3 -1) Индексы ускоряют выборку данных из таблицы, но замедляют вставку и редактирование (если изменяются столбцы задействованные хотя бы в одном индексе). 2 +**Основные тезисы:** 3 +1) Индексы ускоряют выборку данных из таблицы, но замедляют вставку новых данных. 4 4 2) При создании индексов стоит учитывать: 5 -2.1) Как часто с данной таблицей будут производиться операции чтения/записи. 6 -2.2) Какие конкретно запросы будут выполняться. (по каким полям будет идти поиск, соединение, группировка, сортировка: WHERE, JOIN) 7 -2.3) Предполагаемые размеры таблицы. 5 +2.1) Как часто с данной таблицей будут производитсться операции чтения/записи. 6 +2.2) Какие конкретно запросы будут выполняться. (по каким полям будет идти поиск: WHERE, JOIN) 8 8 9 ----- 10 - 11 -==== Критерий - кластеризованный индекс ==== 12 - 13 13 Кластеризованный индекс 14 -Данный индекс определяет порядок строк в таблице. 15 -При вставке новой записи в таблицу рассчитывается значение кластеризованного индекса для новой строки, на основе которого выполняется вставка в имеющийся набор строк. 16 -Для таблицы может быть только 1 кластеризованный индекс. Обычно совпадает с первичным ключом. Также в таблице может отсутствовать кластеризованного индекса (строки будут расположены в порядке их добавления). 9 +Данный индекс напрямую определяет порядок строк в таблице. 10 +При вставке новой записи в таблицу рассчитывается значение кластеризованного инекса для новой строки, на основе которого выполняется вставка в коллекцию строк. Для таблицы может быть только 1 кластерезованный индекс. Обычно совпадает с первичным ключом. В таблице может отсутствовать кластеризованного индекса (стоки в естественном порядке набора данных). 17 17 18 -Некластеризованный индекс 12 +Нескластеризованный индекс 19 19 Не влияет на физический порядок строк. Используется для оптимизации выборки данных. 20 20 21 ----- 22 22 23 23 Вопросы 24 24 1) Оценка состояния индексов. Поддержка индексов в актуальном состоянии. 25 -К ритериисостоянияиндекса(фрагментация).26 - Действияпо обслуживаниюиндекса(перестроение,пересоздание).18 +Каким способом можно измерить фрагментированность индекса 19 +Каким образом можно вызвать перестроение индекса 27 27 28 ----- 29 - 30 -{{children/}} 31 - 32 ----- 33 - 34 34 **Ссылки:** 35 - 36 -14 вопросов об индексах в SQL Server, которые вы стеснялись задать 37 -https://habr.com/ru/post/247373/ 38 - 39 -Основы индексов в Microsoft SQL Server 40 -https://info-comp.ru/programmirovanie/575-index-basics-in-ms-sql-server.html 41 - 42 -Обслуживание индексов и статистик MS SQL Server 43 -https://infostart.ru/public/256292/ 44 - 45 - 46 -Неожиданная находка, которая освобождает 20 GB неиспользованного индексного пространства [Postgres] 47 -https://habr.com/ru/company/otus/blog/672102/ 22 +[[Habr | 14 вопросов об индексах в SQL Server, которые вы стеснялись задать>>https://habr.com/ru/post/247373/]] 23 +[[infostart.ru| Обслуживание индексов и статистик MS SQL Server>>https://infostart.ru/public/256292/]]
- XWiki.XWikiComments[0]
-
- Комментарий
-
... ... @@ -1,5 +1,6 @@ 1 1 Кластеризованный индекс Guid или int: 2 -В случае если кластеризованный индекс является нарастающим числом, то вставка новой строки всегда будет происходит в конец существующего набора данных. (Max + 1) 3 -В случае если кластеризованный индекс является GUID, то значения индекса может попасть в любую позицию набора данных (начало/середина/конец), т.к. GUID по умолчанию не дает гарантии нарастания, что может негативно сказаться на производительности. 2 +В случае если кластеризованный индекс является числом, то вставка новой строки всегда будет происходит в конец существующего набора данных. (Max + 1) 3 +В случае если кластеризованный индекс является GUID, то значения индекса может попасть в любую позицию набора данных (начало/середина/конец) что негативное сказывается на работе. 4 +Есть более подробный материал по данной теме. 4 4 5 -В некоторыхслучаяхможет иметьсмыл наличиедвухстолбцов, один из которых int, а второй guid.6 +В случае необходимости Guid имеет смысл наличие 2 ключей, один из которых int, а второй guid