По принцип има 2 типа изгледи в MySQL.
-
Обединяване на изгледи
Този тип изглед основно просто пренаписва вашите заявки с SQL на изгледа. Така че това е съкратено за писане на заявките сами. Това не предлага реална полза от производителността, но улеснява писането на сложни заявки и улеснява поддръжката (тъй като ако дефиницията на изгледа се промени, не е необходимо да променяте 100 заявки спрямо изгледа, а само една дефиниция).
-
Изкушителни изгледи
Този тип изглед създава временна таблица със заявката от SQL на изгледа. Той има всички предимства на изгледа за сливане, но също така намалява времето за заключване на таблиците на изгледа. Следователно на силно натоварени сървъри може да има доста значително увеличение на производителността.
Има и тип изглед "Недефиниран" (по подразбиране), който позволява на MySQL да избере това, което смята, че е най-добрият тип по време на заявка...
Но имайте предвид, че нещо важно да се отбележи, е, че MySQL няма никаква поддръжка за материализирани изгледи . Така че не е като Oracle, където сложен изглед ще увеличи значително производителността на заявките към него. Заявките към изгледите винаги се изпълняват в MySQL.
Що се отнася до ефективността, изгледите в MySQL не увеличават или намаляват ефективността. Те са там, за да улеснят живота ви, когато пишете и поддържате заявки. Използвал съм изгледи на таблици със стотици милиони редове и те работят отлично...