Changes between Version 4 and Version 5 of QueryOptimization
- Timestamp:
- 06/15/26 04:33:02 (5 days ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
QueryOptimization
v4 v5 330 330 '''Цена на insert/update пред индексирање:''' insert '''64ms''', update '''26ms'''. 331 331 332 === Оптимизација (индекс + преуредување на прашалникот) === 333 334 Најбавните операции се full scan на `sm_student_ispit_prijava` (9.14M редови) и на студентскиот синџир. Покрај индексите од View 1, се додава: 335 336 {{{ 337 CREATE INDEX idx_ispit_prijava_upisan_kurs ON sm_student_ispit_prijava (student_upisan_kurs_id); 338 }}} 339 340 По само индексирањето времето изнесуваше '''7s 755ms''' — подобрено, но сè уште неприфатливо. Анализата покажа дека погледот има '''11 JOIN-а''', што го надминува `join_collapse_limit = 8` на PostgreSQL, па оптимизаторот не можеше да го разгледа редоследот кој тргнува од студентот. '''Затоа го преуредивме прашалникот''' — JOIN-овите во дефиницијата се подредени така што студентскиот синџир е прв. 341 332 342 === Дефиниција (по преуредување) === 333 343 … … 350 360 JOIN sm_predmet p ON ak.predmet_id = p.id; 351 361 }}} 352 353 === Оптимизација (индекс + преуредување на прашалникот) ===354 355 Најбавните операции се full scan на `sm_student_ispit_prijava` (9.14M редови) и на студентскиот синџир. Покрај индексите од View 1, се додава:356 357 {{{358 CREATE INDEX idx_ispit_prijava_upisan_kurs ON sm_student_ispit_prijava (student_upisan_kurs_id);359 }}}360 361 По само индексирањето времето изнесуваше '''7s 755ms''' — подобрено, но сè уште неприфатливо. Анализата покажа дека погледот има '''11 JOIN-а''', што го надминува `join_collapse_limit = 8` на PostgreSQL, па оптимизаторот не можеше да го разгледа редоследот кој тргнува од студентот. '''Затоа го преуредивме прашалникот''' — JOIN-овите во дефиницијата се подредени така што студентскиот синџир е прв.362 362 363 363 === По индексирање + преуредување — 2.2ms ===
