= Индекси ---- == Случај 1 Погледот служи за да ги пронајдеме 20-те најпродавани продукти во изминатата недела. Овој поглед би можел да се користи кога секој корисник ќе ја отвори почетната страна на апликацијата, да му ги прикажеме најпродаваните продукти изминатата недела. Бидејќи во погледот се прават поврзувања со неколку табели, креирани се неколку индекси кои би го убрзале процесот на извршување на прашалниците поврзани со овој поглед:\\ * Креиран е индекс на product_id во order_details табелата\\ * Креиран е индекс na order_id во order_details табелата\\ * Креиран е индекс на date во order табелата\\ Сите индекси се од тип B-tree. Ако ја погледнете дефиниција на погледот и планот на извршување на прашалниците (сликa View и слика Explain Plan – Before Index), ќе видите дека не се користат никаде индекси при спојување на соодветните табели, а ако го погледнете планот на извршување на прашалникот после индексите (слика Explain Plan – After Index), ќе видите дека се користат индекси при спојување на соодвените табели. Сите индекси се од тип B-tree, затоа што првите два индекси се колони во кои имаме број(integer), при што за такви колони најсоодветен е B-tree индексот. За третиот индекс е искористен B-tree индексот, затоа што во самиот поглед внатре имаме филтер преку кој кажуваме да се најдат најпродаваните продукти во изминатата недела, филтерот е date колоната од orders табелата и тука филтерот е некој ‘date range’, при што за вакви филтри најсоодветен е исто така B-tree индексот. Погледот е комплексен, при што кога ќе извршиме прашалник за овој поглед, времето на извршување е 15 секунди (слика Select – Before Index), пред да додадеме индекси, додека откако додадовме индекси времето на извршување е 6 секунди (слика Select – After Index).\\ * Слика 1 - Поглед (View)\\ * Слика 2 - План за извршување на прашалникот пред индекси (Explain Plan - Before Index)\\ * Слика 3 - Извршување на прашалникот пред индекси (Select - Before Index)\\ * Слика 4 - Додавање на индекси (Indexes)\\ * Слика 5 - План за извршување на прашалникот после индекси (Explain Plan - After Index)\\ * Слика 6 - Извршување на прашалникот после индекси (Select - After Index)\\ [[Image("View.JPG",80%,align=center)]]\\ [[Image("Explain Plan - Before Index.JPG",80%,align=center)]]\\ [[Image("Select - Before Index.JPG",80%,align=center)]]\\ [[Image("Indexes.JPG",80%,align=center)]]\\ [[Image("Explain Plan - After Index.JPG",80%,align=center)]]\\ [[Image("Select - After Index.JPG",80%,align=center)]]\\ ---- == Случај 2 * Слика 1 - Поглед (View)\\ * Слика 2 - План за извршување на прашалникот пред индекси (Explain Plan - Before Index)\\ * Слика 3 - Извршување на прашалникот пред индекси (Select - Before Index)\\ * Слика 4 - Додавање на индекси (Indexes)\\ * Слика 5 - План за извршување на прашалникот после индекси (Explain Plan - After Index)\\ * Слика 6 - Извршување на прашалникот после индекси (Select - After Index)\\ [[Image("View 1.JPG",80%,align=center)]]\\ [[Image("Explain Plan - Before Index 1.JPG",80%,align=center)]]\\ [[Image("Select - Before Index 1.JPG",80%,align=center)]]\\ [[Image("Indexes 1.JPG",80%,align=center)]]\\ [[Image("Explain Plan - After Index 1.JPG",80%,align=center)]]\\ [[Image("Select - After Index 1.JPG",80%,align=center)]]\\