Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Kuidas ma saan kasutada Laraveli silurbaari n 1 päringu tuvastamiseks


Kuidas ma saan kasutada Laraveli silurbaari n 1 päringu tuvastamiseks


Laraveli silurbar saate tõhusalt kasutada, et tuvastada oma Laraveli rakenduses N+1 päringuprobleemid, järgides neid samme ja mõistdes oma pakutavaid funktsioone:

Mis on N+1 päringu probleem?

N+1 päringuprobleem ilmneb siis, kui teie rakendus käivitab ühe päringu, et hankida kirjete komplekt (n), ja seejärel käivitab iga kirje jaoks täiendava päringu, et saada seotud andmeid, mille tulemuseks on N+1 päringud kokku. See viib jõudluse halvenemiseni liigsete andmebaasipäringute tõttu [4] [5].

Laraveli siluri kasutamine n+1 päringute tuvastamiseks

- Installimine ja seadistamine: kõigepealt installige Laravel Debugbar helilooja kaudu, kui seda pole veel installitud. See integreerub sujuvalt Laraveliga ja pakub visuaalset liidest päringu ajal teostatud päringute jälgimiseks [1] [5].

- Päringu reaalajas jälgimine: Laravel Debugbar näitab kõiki SQL-i päringuid, mis on täidetud päringus, sealhulgas päringute arv ja nende täitmisaeg. See võimaldab teil märgata, kui paljusid sarnaseid päringuid korratakse korduvalt, see on n+1 probleemide tunnus [1] [5].

- Üksikasjalik päringuteave: Debugbar pakub üksikasjalikku teavet iga päringu kohta, sealhulgas faili- ja reanumber oma koodis, kus päring käivitati. See aitab täpselt kindlaks teha täpse koodi, mis põhjustab N+1 päringuid, mis on hindamatu suuremates projektides [8].

- N+1 päringute kohandatud sõnumid: kombineerituna Laraveli päringute detektori paketiga (mis integreerub siluribariga), võib see välja tuua n+1 päringud selgesõnaliselt, lisades hoiatusi või sõnumeid sibulate liideses. See pakett tuvastab, kui suhtepäringut täidetakse rohkem kui läve ja teatab, et lisate innuka laadimise [2] [3].

Kuidas kasutada siluribari N+1 päringute tuvastamiseks

1. Luba silumine arenduses: veenduge, et silumine oleks teie kohalikus või arenduskeskkonnas lubatud, et vältida päringu üksikasjade paljastamist tootmises.

2. Laadige testitud leht või marsruut

3. Avage silur paneel: siluri liideses (tavaliselt brauseri allosas) minge vahekaardile "Päring".

4. Jälgige päringute arvu: otsige korduvaid päringuid, mis on sarnased, kuid erinevad parameetrite väärtustega, osutades mitmele päringule, mis toovad seotud andmed ükshaaval.

5. Kontrollige päringu päritolu: Klõpsake individuaalsetel päringutel, et näha virna jälje või faili/rea numbrit, kus päring käivitati. See aitab tuvastada täpse silmuse või koodisektsiooni, mis põhjustab N+1 probleemi.

6. Kasutage märguannete jaoks Laraveli päringute detektorit: Valikuliselt installige Laraveli päringute detektori pakett, mis võib silurisse sisenemist lisada, kui tuvastatakse n+1 päringuid, muutes lihtsamaks märkamist ilma päringuid käsitsi loendamata [3].

Parimad tavad pärast tuvastamist

- Kasutage oma kõnekates päringutes innukat laadimist (`koos ()`), et olla seotud mudelitega ja vähendada päringute arvu.

-Kasutage Laraveli sisseehitatud ennetamist, lisades `mudel :: PreventLazy Lowning (! App ()-> isproduction ())` oma `AppServiceProvider", et visata erandeid laisakoormusele arengu ajal, aidates N+1 küsimust varakult tabada [4] [9].

- Jälgige arenduse ajal pidevalt päringuid siluribaga, et säilitada päringu optimaalne jõudlus.

Laraveli silumise päringu visualiseerimise ja selliste tööriistade nagu Laravel Query detektor abil saate tõhusalt tuvastada ja parandada N+1 päringuprobleeme, parandades märkimisväärselt oma rakenduse andmebaasi jõudlust [1] [2] [3] [3] [5].

Tsitaadid:
]
[2] https://github.com/beyondcode/laravel-query-detector
[3] https://beyondco.de/docs/laravel-query-detector/USAGE
[4] https://laravel-news.com/laraveln-query-problems
]
]
[7] https://laraveldaily.com/lesson/eloquent-performance/n1-query-debugbar-eager-loading
]
]