Ebben a cikkben mindent megtudhat, amire szüksége van lekérdezés optimalizálása a DBMS -ben; hogy jelentősen javítsák e technológiai rendszerek válaszidejét.
Lekérdezés -optimalizálás, Mik azok a DBMS -ek?
Mielőtt elkezdenénk beszélni néhány tippről és javaslatról a lekérdezés optimalizálása webhelyéről vagy alkalmazásairól. Fontos, hogy tudjon egy kicsit a ma létező DBMS -ről.
Az SGBD, amelynek rövidítése az adatbáziskezelő rendszer; Ezek olyan programok, amelyek lehetővé teszik a felhasználó számára, hogy minden információt manipuláljon minden értelemben, egy adatbázisban; mint például ezek kinyerése, tárolása és / vagy módosítása.
Ezenkívül segítenek az adatbázis minden szükséges biztonságának biztosításában, a felhasználók be- és kilépéseinek kezelésében és ellenőrzésében; még ezek védelmét is arra az esetre, ha az információ megsérült és eltűnt, visszanyerésre kerül. Fontos pontként ők is lényeges részét képezik a lekérdezés optimalizálása.
Más szóval, ahhoz, hogy egy alkalmazás, számítógép vagy webhely megfelelően működjön, szükség van egy adatbázis -rendszerre, különben egyáltalán nem lenne hasznos.
A legjelentősebb példák között, amelyeket a ma létező DBMS -nek nevezhetünk; van: Microsoft SQL Server; CouchDB (ez kifejezetten a dokumentumok részére irányult); MongoDB (orientált, mint az előző); a leghíresebb és a leggyakrabban használt, MySQL, relációs, nyílt forráskódú, olyan platformok használják, mint a WordPress.
Ha többet szeretne tudni az adatbázisról, és konkrétan arról MySQL; Javasoljuk a következő cikket, ahol többet megtudhat erről a ma oly széles körben használt szoftverről: Adattípusok a MYSQL -ben.
Mi az a lekérdezésoptimalizálás?
Alapvetően az, hogy jelentősen és optimálisan javítsuk a DBMS válaszidejét; oly módon, hogy rekord idő alatt tudják a felhasználók rendelkezésére bocsátani a kért információkat. Ez bizonyos esetekben előfordul, amikor bizonyos alkalmazások vagy mások olyan bonyolultak, hogy konzultáció során a válasz megszerzésének ideje meglehetősen hosszú; Ez a válasz sok esetben általában nem a legoptimálisabb, vagyis a lehető legjobb.
Vannak bizonyos optimalizálók a költségek alapján, ezek pedig bizonyos tervek alapján; hogy azok lesznek azok, akik az elemzés révén képesek lesznek megadni a legjobb utakat a lekérdezés optimalizálásához; természetesen azokat a terveket, amelyek a lehető legalacsonyabb költségekkel járnak.
Fontos szempont, hogy a felhasználók nem férhetnek hozzá közvetlenül az optimalizálóhoz; Először elemezniük kell egy elemzési folyamatot, majd ezt követően a felhasználó már hozzáférhet az optimalizáláshoz
Hogyan működnek?
A legtöbb lekérdezés optimalizálása, csomópont -fa segítségével valósul meg, grafikusan ábrázolva. Ebben a fában minden csomópont egy tervet képvisel, és ezek a csomópontokba ágyazott tervek nem több, mint egyszerű műveletek.
Lehetséges, hogy minden csomópontnak vannak más gyermekcsomópontjai, tervekkel; de hogy ugyanúgy fogják működtetni ugyanazt a tervet, mint a szülőcsomópont. Ennek a "csomópontfának" a levelei esetében ezek az összes jelenlévő csomópont által végrehajtott műveletek eredményeit reprezentálják.
Fontos adatként az adatbázis -kezelő rendszerekben; a csomópontok JOIN -ok, amelyek lehetővé teszik a táblák rekordjainak kombinálását (ezek lehetnek több vagy csak egyek) egy adatbázisban. Valójában a szó Csatlakozikangolból lefordítva azt jelenti: "egyesülni".
Miután elmondta az előző bekezdésben leírtakat, az egyik fontos tényező a lekérdezés optimalizálása és milyen nagyobb befolyásuk van; Az adattáblák működésének sorrendjében van, azaz a JOIN létrehozásának sorrendjében. A további optimalizálást úgy határozhatná meg, hogy először a kis asztalok működnek a nagyok helyett; ha fordítva történik, a folyamat a vártnál sokkal tovább tarthat.
Sok optimalizáló egy bizonyos algoritmust használ, amelyet a System R adatbázis projekt; amely elemzési és keresési szakaszok sorozatát követi; hogy végül a lehető legjobb eredményt fogják elérni. Ezeket az eredményeket jobbnak kell tekinteni, mint mások, ha ugyanazt a sorrendet követik; mivel ez tovább csökkentheti a válaszidőt.
Mik azok a Tuples?
A sor az egyik legfontosabb az adatbázisban; mivel az említett adatok információit tartalmazó objektumok (a matematikai meghatározás esetében). A számítógép mezőre térve nem sokban különbözik az előző definíciótól, kivéve, hogy ebben az esetben egy adott táblázat sorának felel meg; Ezért az utóbbiak tartalmazzák a mentett adatokat.
Akárcsak a matematika területén, az ezekben az objektumokban tárolt adatok is rendezetlenek, mivel több, mint egy lista, egy adathalmaz; és nincs duplikáció és bármiféle replikáció egy sorban, mivel matematikailag ez lehetetlen lenne.
Optimalizálási folyamatok
La lekérdezés optimalizálása, lépéseket vagy folyamatot követ. Ebben az esetben egyszerűen megnevezzük őket, és a következő részben néhány tippet mondunk, amelyeket szem előtt kell tartani a teljesítmény javítása érdekében.
Az első lépés a A lekérdezések belső ábrázolása, amelynek rendelkeznie kell a következő részben említett jellemzőkkel és rendszerekkel, hogy képesek legyenek a logikai kifejezések megjelenítésére. A második lépés, Átalakítás kanonikus formába, egy egyenértékű (az eredetiből származó) kifejezést találunk itt, amely a lekérdezés kanonikus formájává válik, és javítja a lekérdezés teljesítményét.
A harmadik folyamat, Alacsony szintű eljárások választása, itt több pontot (például alternatív indexeket és útvonalakat) talál a lekérdezéshez. És végül a Lekérdezési tervek generálása és megválasztása
Néhány tipp a lekérdezés optimalizálásához
Ebben a részben a négy fő optimalizálási folyamatot nevezzük meg, de leginkább; néhány szempontot figyelembe kell venni, a válaszidő javítása érdekében, ami a bejegyzés fő pontja. Egy nagyon fontos szempontot figyelembe kell venni, hogy legyen egy tervünk (amit már korábban is megneveztünk), mert így a folyamat nagyban felgyorsul.
Egy másik lényeges dolog a stratégia megválasztása, amely lehetővé teszi a teljes konzultációs folyamat végrehajtását; Ezt viszont két részre kell osztani, amelyek a következők lesznek: a művelet végrehajtásáért felelős algoritmus kiválasztása; és válasszon indexeket, jól részletezve és konkrétan, mivel ez elkerülné a problémákat és a késéseket.
Ami a végrehajtandó tervet illeti, két fázisból vagy szakaszból áll, amelyeket figyelembe kell venni; szorosan kapcsolódik az optimalizáláshoz. Az első szakasz a következőkből áll: logikai kifejezések generálása, amelyek kapcsolódnak a fő kifejezéshez; A "kifejezések" kifejezéssel az adatok keresésére vagy megszerzésére adott konkrét műveletekre utalunk, ezért a többi kifejezésnek akkor kapcsolódnia kell a főhöz.
A második szakasz, tekintettel arra, hogy az első alapján bizonyos eredmények születnek; Ebben az új fázisban ezeket az eredményeket rögzíteni kell, amelyek új logikai kifejezések lesznek; amelyek alternatívaként szolgálnak majd a későbbi értékelési tervek elkészítéséhez, ezért nagyon fontos lesz.
A fentiek jelentősen javítják a megkeresések válaszidejét. Az adatok lekérdezésének nagyobb hatékonysága és eredményessége érdekében azonban a következő szempontokat is figyelembe veheti: tisztázza a jó kiindulási pontot a következő szakaszokkal való kezdéshez; bizonyos fokú szabadságot kínálnak, ami elegendő ahhoz, hogy további optimalizálásokat lehessen végezni a lekérdezésben.
A következő videóban, amelyet alább hagyunk, többet tudhat meg a lekérdezés optimalizálása grafikus módon, ami segít jobban megérteni mindent, ami ehhez a számítástechnikai aspektushoz kapcsolódik. Mivel írásban elég nehéz megpróbálni megmagyarázni.