Руководство по созданию эффективных запросов


Шаг 2.1. Самые ограничительные критерии



Download 17,08 Mb.
Pdf ko'rish
bet203/210
Sana25.06.2022
Hajmi17,08 Mb.
#704548
TuriРуководство
1   ...   199   200   201   202   203   204   205   206   ...   210
Bog'liq
OptimizZaprvPostgreSQL

Шаг 2.1. Самые ограничительные критерии
Найдите самые ограничительные критерии для вашего запроса. Помните, 
что зачастую для этого недостаточно просто посмотреть на запрос. Про-
верьте таблицы, чтобы найти количество различных значений атрибутов. 
Помните о распределении значений, выясните, какие значения встречаются 


Пошаговое руководство 

271
реже всего. Когда наиболее ограничительные критерии будут определены, 
переходите к следующему шагу.
Шаг 2.2. Проверьте индексы
Проверьте, созданы ли индексы, поддерживающие поиск по наиболее огра-
ничительным условиям. А именно:
 

проверьте, проиндексированы ли все атрибуты поиска для наиболее 
ограничительного условия. Если индекс (или индексы) отсутствует, 
запросите создание или создайте сами;
 

если задействовано несколько полей, проверьте, будет ли составной 
индекс работать лучше и оправдывает ли прирост производительности 
создание дополнительного индекса;
 

проверьте, можно ли использовать сканирование только индекса с ис-
пользованием составного или покрывающего индекса.
Шаг 2.3. Добавьте избыточный критерий отбора,
если это применимо
Если наиболее ограничительное условие основано на комбинации атрибутов 
из разных таблиц и поэтому не может быть проиндексировано, подумайте 
о добавлении избыточного критерия отбора.
Шаг 2.4. Построение запроса
Начните писать запрос, применяя самые ограничительные критерии; для 
этого может потребоваться начать запрос с одной таблицы или с соединения, 
которое включает в себя наиболее ограничительный критерий.
Не пропускайте этот шаг. Часто, когда разработчики баз данных знают свя-
зи между объектами, они выписывают все соединения перед применением 
фильтрации. Хотя мы знаем, что такой подход нередко рекомендуется, мы 
считаем, что в случае сложных запросов со многими соединениями он может 
усложнить разработку. Мы предлагаем начать с запроса, который точно вы-
полняется эффективно, и затем добавлять по одной таблице за раз.
Проверяйте производительность запроса и план выполнения каждый раз, 
когда добавляете новое соединение. Помните, что оптимизаторы склонны 
ошибаться при оценке размера промежуточных результатов по мере прибли-
жения к корню дерева выполнения. Если количество соединений в запросе 
приближается к десяти, стоит рассмотреть возможность использования об-
щих табличных выражений (если вы используете версию 12 или выше) или 
подумать о создании динамического SQL.

Download 17,08 Mb.

Do'stlaringiz bilan baham:
1   ...   199   200   201   202   203   204   205   206   ...   210




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish