Оптимизација Firebird упита
Оптимизација Firebird упита покрива како се SELECT изјаве извршавају: планови, статистике, методе приступа, обрасци подешавања и како ухватити споре упите помоћу MON$ и Trace API-ја.
Програм
-
Перформансе SELECT упита - како се упит извршава
- Клијент-сервер приступ
- Припрема, генерисање плана, извршавање, дохватања, баферисање
-
Статистике извршавања
- Читања, упис, дохватања, време
- Кеш базе података, диск, CPU
- Како смеће утиче на извршавање
- Погоци у кешу (Classic vs SuperServer)
-
Методе приступа / путање података
- NATURAL скенирање
- INDEX претрага: B-стабла, показивачи на записе, смер, примери
- Принудна употреба индекса, битно спајање индекса
- Кардиналност табеле и селективност индекса
- Искључивање индекса у WHERE
- Index ORDER vs SORT (
firebird.confподешавања) - Искључивање индекса у ORDER BY / GROUP BY
- Планови у ускладиштеним процедурама и погледима
-
Подешавање упита
- Како читати PLAN
- Подешавања оптимизатора
WHERE FIELD IN (…)- LIKE, CONTAINING, STARTING WITH
- JOIN: имплицитни vs експлицитни, лоши join-ови, LEFT/RIGHT, self-join-ови
- UPDATE + SELECT
- MAX, MIN, COUNT, AVG, SUM
- IN vs EXISTS vs MERGE
WHERE (X AND Y) OR (K AND N)
-
Праћење спорих упита помоћу MON$ и Trace API-ја
- Шта су MON$ и Trace
- MON$ поља која су важна
- Trace API параметри и излаз
- Алати (укључујући HQbird мониторинг)