Egy lekérdezés adott adatokat kér le egy adatbázisból. SQL-ben a lekérdezés a SELECT metódust használja az oszlopok, a FROM metódust a táblák, a WHERE metódust pedig a sorok szűrésére. A JOIN metódus egyesíti a táblákat. A GROUP BY aggregálja az adatokat. Az ORDER BY rendezi az adatokat. Az adatbázis elemzi a lekérdezést, megtervezi a végrehajtási stratégiát, és visszaadja az eredményeket. Ugyanaz a kérdés sokféleképpen feltehető, és egyes módok sokkal gyorsabbak, mint mások.
A lekérdezések teljesítménye számos tényezőtől függ. Az indexek felgyorsítják a szűrt oszlopok keresését. A lekérdezéstervező az adatokkal kapcsolatos statisztikák alapján választ a különböző végrehajtási stratégiák közül. Az elavult statisztikák rossz tervekhez vezetnek. Az indexeket hatékonyan használó lekérdezés írása szakértelmet igényel. Egy WHERE záradékban egy indexelt oszlopra alkalmazott függvény megakadályozza az index használatát. Egy olyan lekérdezés, amely az összes oszlopot kiválasztja, amikor csak néhányra van szükség, sávszélességet és memóriát pazarol. Egy soronként egyszer futó allekérdezés lassú. Ugyanaz a logika, mint egy illesztésnél, gyors. A lekérdezésoptimalizálás részben művészet, részben tudomány. Az adatbázis eszközöket biztosít: EXPLAIN terveket, lekérdezésprofilozókat és teljesítményszámlálókat. Ezeknek az eszközöknek az olvasása gyakorlást igényel. Egy kis adathalmazon ezredmásodperc alatt lefutó lekérdezés perceket vehet igénybe egy nagyon. A különbség gyakran a tervben rejlik, nem a hardverben.
Lekérdezési összetevők
- SELECT — visszaadandó oszlopok
- FROM — lekérdezendő táblák
- WHERE — sorszűrők
- CSATLAKOZÁS — táblák egyesítése
- GROUP BY – összesített sorok
- ORDER BY – eredmények rendezése
Egy lekérdezés egy kérdés. Az adatbázis megválaszolja. A válasz minősége attól függ, hogyan tesszük fel a kérdést.
Comments
No comments yet. Be the first to share a thought.
Leave a comment