Деньги, как известно, имеют различные функции. Одной из них является непрестанное движение денег в обращении, обслуживание процесса обращения. Без выполнения деньгами этой функции торговля была бы невозможна.

Індекси 1С 8.3 і MS SQL

  1. Індекси в 1С
  2. Індекси в СУБД Microsoft SQL
  3. Важливі нюанси використання індексів

Сьогодні мова піде про індексах СУБД MS SQL і їх внутрішній устрій. Я спробую розповісти про індексах і з точки зору СУБД, і з точки зору 1С 8.3.

3

Індекси - набір посилань, упорядкованих за певними стовпцями, створюваний з метою оптимізації продуктивності СУБД MS SQL.

Індекси в 1С

В системі 1С індекси створюються двома способами - явним і неявним чином.

Створення індексів неявним чином:

Платформа створює індекси сама по заздалегідь відомим для кожного об'єкта метаданих ключам даних (посилання, код, найменування, вимірювання і т.п.)

Створення індексів явно можлива трьома способами:

  1. Установка прапора «індексувати» у поля (реквізиту / вимірювання). Варіант «Чи індексувати з доп. упорядкуванням »додає в індекс поле« Код »або« Найменування »(перш за все для динамічних списків ).
  2. Додавання поля в « Критерії відбору «.
  3. Вказівка ​​индексируемого поля в запит за допомогою конструкції « індексувати за «.

Вказівка ​​индексируемого поля в запит за допомогою конструкції «   індексувати за   «

Індекси в СУБД Microsoft SQL

Індекси в СУБД MS SQL являють собою сторінки з даними по 8 Кбайт кожна. Незважаючи на те, що індекси покликані поліпшити продуктивність СУБД, у них є певні недоліки - вони займають місце на диску і сповільнюють роботу СУБД на запис рядків.

Види індексів в СУБД MS SQL:

  1. Некластерние індекси - такі індекси не перебудовують таблиці, а лише організовують посилання.
  2. Кластерні індекси потрібні для побудови таблиці відповідно до індексу. Дані впорядковані, наприклад, за алфавітом. Неприпустимий для часто змінюються стовпців, тому що СУБД постійно фізично перебудовує таблицю за цим індексом.
  3. Унікальні індекси - свого роду «надбудова» для кластерних і некластерних індексів. Такий індекс унікальний по ключових полях.

Види ключів в СУБД:

  • Первинний ключ (primary) - набір стовпців, унікально характеризують рядок.
  • Зовнішній ключ (foreign) - поле таблиці, що зберігає значення первинного ключа з метою організації зв'язку між таблицями. 1С не використовує даний вид ключів.

Важливі нюанси використання індексів

Довжина ключа індексу в основних СУБД (всіх, окрім файлового варіанту) - не більше 900 байт і 16 різних полів.

Запускайте частіше дефрагментацію індексів на рівні СУБД MS SQL: при частому використанні індексів можлива поява ефекту фрагментації, не можна допускати рівня фрагментації вище 25%.

Відсутність індексів може привести до повного сканування таблиці (table scan), що, в свою чергу, призведе до надмірної блокування.

Однак не варто включати індексацію по невеликих наборів даних (наприклад, довідник Організації) - побудова індексу може привести до зворотного ефекту, швидкодія знизиться.