= Фаза 4 – Индекси и оптимизација на прашалници = == КОД == [[html(Pogledi.sql)]] == Поглед 1: Employee Performance View == [[Image("indeksi slika1.png", 800px)]] Примарен филтер за погледот ќе биде според id на вработениот. Времето на извршување без индекс изнесува околу 915ms [[Image("indeksi slika 2.png", 800px)]] Најбавната операција е Full Scan на табелата sale. Прашалникот е доволно брз и нема потреба од индексирање. == Поглед 2: Brand Popularity View == [[Image("indeksi slika 3.png", 800px)]] Примарен филтер за погледот ќе биде според името на брендот. Времето на извршување без индекс изнесува 36s 404ms. [[Image("indeksi slika 4.png", 800px)]] Најбавната операција е Full Scan на табелата vehicle. Додавање на индекс brand (brand) не помага во случајов, бидејќи проблемот е обработката кај возила. Бидејќи времето е високо, мора да искористиме materialized view. Времето на извршување по ова изнесува 382ms. == Поглед 3: Customer Value View == [[Image("indeksi slika 5.png", 800px)]] Примарен филтер за погледот ќе биде според id на customer. Времето на извршување без индекс изнесува 1s 32ms. [[Image("indeksi slika 6.png", 800px)]] Најбавната операција е Full Scan на табелата sale. По додавање на индекс sale (customer_id), времето на извршување е 420ms. [[Image("indeksi slika 7.png", 800px)]] == Поглед 4: Vehicles In Stock View == [[Image("indeksi slika 8.png", 800px)]] Примарен филтер за погледот ќе биде според vin на возилото. Времето на извршување без дополнителен индекс изнесува 419ms. Прашалникот е доволно брз, а и бидејќи vin е примарен клуч веќе постои индекс. Нема потреба од дополнителен индекс. == Поглед 5: Monthly Sales View == [[Image("indeksi slika 9.png", 800px)]] Примарен филтер за погледот ќе биде според година и месец. Времето на извршување без индекс изнесува 15s 655ms [[Image("indeksi slika 10.png", 800px)]] Најбавната операција е Full Scan на табелата Sale. По креирање на индексот, времето на извршување изнесува 3s 62ms [[Image("indeksi slika 11.png", 800px)]] == Поглед 6: Popular Configurations View == [[Image("indeksi slika 12.png", 800px)]] Примарен филтер за погледот ќе биде според id на конфигурацискиот пакет. Времето на извршување изнесува 3s 389ms [[Image("indeksi slika 13.png", 800px)]] Најбавната операција е Full Scan на табелата configuration package По додавање на индекс во configuration package на package id, нема значително подобрување на времето. Моменталното време на извшрување е неприфатливо за корисник, па финално решение е materialized view. == Поглед 7: Recent Test Drives View == [[Image("indeksi slika 14.png", 800px)]] Примарен филтер за погледот ќе биде според id на customer. Времето на извршување изнесува 1s 824ms [[Image("indeksi slika 15.png", 800px)]] Најбавна операција е Full Scan на табелата Test Drive По додавање на индекс на колоната customer id во табелата Test Drive, времето на извршување изнесува 433ms [[Image("indeksi slika 16.png", 800px)]] == Поглед 8: Pending Orders View == [[Image("indeksi slika 17.png", 800px)]] Примарен филтер за погледот ќе биде според id на customer. Времето на извршување изнесува 1s 157ms [[Image("indeksi slika 18.png", 800px)]] Најбавната операција е Full Scan на табелата Order Времето на извршување е доволно брзо, а индекс не помага. == Поглед 9: Available Vehicles by Budget View == [[Image("indeksi slika 19.png", 800px)]] Примарен филтер за погледот ќе биде според буџетската категорија (цена на возило). Времето на извршување изнесува 2s 464ms [[Image("indeksi slika 20.png", 800px)]] Најбавната операција е Full Scan на табелата Vehicle Додавање на индекс на колоната price на табелата Vehicle нема доволно голем ефект врз времето на извршување, па финално решение е materialized view. Финално време на извршување е 449ms.