Changes between Version 2 and Version 3 of QueryOptimization
- Timestamp:
- 06/15/26 04:14:36 (5 days ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
QueryOptimization
v2 v3 44 44 '''Примарен филтер:''' `indeks` на студентот (се користи и според име и презиме). 45 45 46 '''Случај на употреба:''' пресметка на кредитно-пондериранпросек, освоени кредити и број на положени/паднати испити за еден студент, по систем на оценување. Ова е еден од најчесто користените прегледи (студентски сервиси, уверенија), па перформансите се критични.46 '''Случај на употреба:''' пресметка на просек, освоени кредити и број на положени/паднати испити за еден студент, по систем на оценување. Ова е еден од најчесто користените прегледи (студентски сервиси, уверенија), па перформансите се критични. 47 47 48 48 === Дефиниција === … … 253 253 === Дефиниција (по преуредување) === 254 254 255 Дефиницијата ги подредува JOIN-овите така што студентскиот синџир е прв (види оптимизација подолу):255 Дефиницијата ги подредува JOIN-овите така што студентскиот синџир е прв: 256 256 257 257 {{{ … … 334 334 }}} 335 335 336 По само индексирањето времето изнесуваше '''7s 755ms''' — подобрено, но сè уште неприфатливо. Анализата покажа дека погледот има '''11 JOIN-а''', што го надминува `join_collapse_limit = 8` на PostgreSQL, па оптимизаторот не можеше да го разгледа редоследот кој тргнува од студентот. '''Затоа го преуредивме прашалникот''' — JOIN-овите во дефиницијата се подредени така што студентскиот синџир е прв (види дефиниција погоре).336 По само индексирањето времето изнесуваше '''7s 755ms''' — подобрено, но сè уште неприфатливо. Анализата покажа дека погледот има '''11 JOIN-а''', што го надминува `join_collapse_limit = 8` на PostgreSQL, па оптимизаторот не можеше да го разгледа редоследот кој тргнува од студентот. '''Затоа го преуредивме прашалникот''' — JOIN-овите во дефиницијата се подредени така што студентскиот синџир е прв. 337 337 338 338 === По индексирање + преуредување — 2.2ms ===
