= Оптимизација на прашалници и погледи = 1. Анализа на поглед 1, добивање на бројот на следбеници и бројот на профили кои ги следи даден корисник - Доколку сакаме да видиме за конкретен артист извршуваме: [[Image(View1_1.png, 800px)]] - Времето потребно за извршување за овој прашалник е ~6ms. Нема потреба од дополнителни индекси. - Доколку сакаме да извршиме некаква анализа, на пример да ги земеме најдобрите 10 корисници според број на следбеници, можеме да извршиме: [[Image(View1_2.png, 800px)]] - Потребно време за извршување на овој прашалник е ~200ms. Нема индекс кој може да се додаде за да ги подобри перформансите на овој прашалник. - Query plan: [[Image(View1_3.png, 800px)]] 2. Анализа на поглед 2, најактивни корисници на платформата според бројот на слушања во изминатите 30 дена. - Доколку сакаме да видиме кои се најактивните корисници на платформата изминатите 30 дена, извршуваме: [[Image(View2_1.png, 800px)]] - Времето потребно за пребарување: [[Image(View2_2.png, 800px)]] - **~ 250ms** - Можеме да додадеме индекс на streamed_at колоната со цел да избегнеме sequential scan на song_streams табелата: [[Image(View2_3.png, 800px)]] - Време на извршување по додавање на индекс: [[Image(View2_4.png, 800px)]] - **~ 200ms** -> ~20% подобри перформанси