Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Уменьшение общего количества индексов




Многопоточность поиска по OR и IN

Частичное использование составного индекса

Целесообразность создания индексов

Индексы необходимо создавать в случае, когда по столбцу или группе столбцов:

· Часто производится поиск в БД;

· Часто строятся объединения таблиц;

· Часто производится сортировка;

· Часто производится сортировка;

Не рекомендуется строить индексы по столбцам или группам столбцов, которые:

· Редко используются для поиска, объединения, сортировки результатов запроса

· Часто меняют значение, что приводит к необходимости часто обновлять индекс и способно существенно замедлить скорость работы с БД;

· Содержит небольшое число вариантов значения

Если запросы часто используют для поиска одни и те же столбцы, следует построить по этим столбцам индекс (если это возможно) так, чтобы чаще используемые столбцы выступали в качестве ведущих полей индекса. Тогда при поиске может быть использована часть индексных полей.

Следует помнить, что при использовании в запросах не всех столбцов из индекса, можно использовать только непрерывную последовательность столбцов, что важно для указания порядка сортировки в предложении ORDER BY.

Порядок следования условий по столбцам в предложении WHERE оператора SELECT не важен (если условия объединяются по AND).

При частом использовании в условной части WHERE оператора SELECT нескольких столбцов, между собой операцией «или» (OR)Ж

SELECT *

WHERE A=100 OR B=200 OR C= 300

вместо индекса по столбцам A,B,C лучше создать несколько индексов, построенных по каждому из этих полей, поскольку в противном случае будет осуществлен последовательный просмотр всей таблицы.

Важно помнить, что при использовании оператора OR в условной части оператора SELECT каждая часть условия влечет за собой отдельное сканирование участвующих в запросе таблиц.

Отдельный поток поиска порождает и каждый элемент в списке IN. Например,

WHERE A IN (100, 200, 300)

интерпретируется как

WHERE A=100 OR A=200 OR A=300.

Однако при указании диапазона BETWEEN

WHERE A BETWEEN 100 AND 300

этого не происходит. Поэтому, где возможно, следует заменять IN на BETWEEN.

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




Поделиться с друзьями:


Дата добавления: 2014-12-23; Просмотров: 348; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.