Polimorfna razmerja v Laravelu lahko povečajo kompleksnost poizvedbe na več načinov:
1. Dodatni stolpci: Polimorfna razmerja zahtevajo dodaten stolpec v vrtilni tabeli za shranjevanje vrste povezane entitete. To lahko vodi do bolj zapletenih poizvedb, saj mora zbirka podatkov filtrirati po tem dodatnem stolpcu[1][2].
2. Združevanje več tabel: Pri pridobivanju povezanih entitet polimorfna razmerja pogosto vključujejo združevanje več tabel glede na vrsto povezane entitete. Posledica tega so lahko bolj zapletene in manj intuitivne poizvedbe, zlasti pri delu z velikimi nabori podatkov[1][2].
3. Filtriranje po vrsti: Poizvedbe, ki vključujejo polimorfne asociacije, morajo filtrirati po vrsti povezane entitete, kar lahko poizvedbo dodatno zaplete. To še posebej velja, če vrsta ni fiksna in se lahko dinamično spreminja[1][2].
4. Vpliv na uspešnost: Potreba po filtriranju po dodatnem stolpcu in morebitnem združevanju več tabel lahko negativno vpliva na uspešnost, zlasti ko nabor podatkov raste[1][2].
5. Omejena podpora za poizvedbe: nekatere funkcije zbirke podatkov, kot je kaskadno brisanje, morda ne bodo delovale tako preprosto s polimorfnimi razmerji, kar dodatno poveča kompleksnost poizvedbe[1].
Zaradi teh dejavnikov je poizvedbe, ki vključujejo polimorfna razmerja, težje upravljati in optimizirati, kar lahko povzroči težave z zmogljivostjo in poveča čas odpravljanja napak.
Citati:[1] https://scalablecode.com/the-pros-and-cons-of-implementing-polymorphic-relationships-in-sql-databases/
[2] https://laraveljsonapi.io/docs/3.0/digging-deeper/polymorphic-to-many.html
[3] https://www.reddit.com/r/laravel/comments/9cizrv/polymorphic_relationship_or_not/
[4] https://www.sitepoint.com/what-are-polymorphic-relations-and-how-do-we-use-them-with-eloquent/
[5] https://laravel.com/docs/11.x/eloquent-relationships