|
|
MS SQL adatbázis kezelés Delphi-ből
MS SQL 32. rész
|
|
Példaprogram letöltése
8631 bájt
|
Egy korábbi fejezetben már említettük, hogy lehetőség van a BDE-t úgy konfigurálni, hogy az adatbázis műveletek során a metaadatokat ne kelljen mindig lekérdeznie az SQL Servertől, hanem azokat inkább lokálisan tárolja, így ha szükség van rájuk, sokkal gyorsabban elérhetők. A folyamat neve schema cache-elés. A schema vagy séma információk a táblák struktúráját írják le. Egy adott tábla hivatkozásakor első alkalommal a BDE az SQL Servertől kéri el ezeket az adatokat, és egy megadott könyvtárban tárolja őket. Minden további hivatkozáskor a séma innen töltődik be. Az eljárás előnye főleg olyan alkalmazásoknál jelentkezik, amik kis méretű táblákkal dolgoznak, és a séma letöltésének ideje összemérhető az adatok lekérésének idejével.
A beállításokat a BDE Administratorban tehetjük meg. Az alias paraméterei közül a következők tartoznak ide:
SCHEMA CACHE SIZE: Ezzel az értékkel tudjuk szabályozni, hogy a BDE maximum hány tábla adatait tárolja a cache területen. 0 és 32 közötti értéket választhatunk, az alapértelmezés 8.
SCHEMA CACHE TIME: Beállíthatjuk, hogy a táblák séma információi milyen sokáig tárolódjanak. A beírt időt másodpercekben értelmezi a BDE, és 1-től 2,147,483,647-ig változhat. Elvileg tehát akár 68 évet is beállíthatunk. Ha -1-et állítunk be, az azt jelenti, hogy az információk az adatbázis kapcsolat lezárásáig tárolódnak. A 0 érték azt jelzi, hogy nem cache-elődnek információk.
ENABLE SCHEMA CACHE: Két értéket adhatunk ennek a kapcsolónak. True: a cache mechanizmus be van kapcsolva; False: nincs bekapcsolva.
SCHEMA CACHE DIR: Végül beállíthatjuk, hogy a BDE melyik könyvtárban tárolja a sémákat.
Ha séma cache-elést használunk, oda kell figyelnünk rá, hogy mikor változtatjuk meg a táblák és indexek szerkezetét az SQL Serverben. Ugyanis a cache-elt séma adatok ilyenkor nem változnak meg automatikusan, nekünk kell törölnünk a könyvtár tartalmát. Ha az adatbázisunk 'túl dinamikus' a séma cache-eléshez, a következő SQL hibaüzeneteket fogjuk látni zavaró gyakorisággal: Unknown Column, Invalid Bind Type, Invalid Type, Invalid Type Conversion.
A megadott cache könyvtár kétféle állományt tartalmaz. Kiterjesztés nelküli, Bdescxxx nevű fájlokban tárolódnak az egyes táblák metaadatai bináris formában, mégpedig táblánként egy fájlban. Az Scache.ini szöveges fájl mutatja meg, hogy melyik fájl melyik táblához tartozik.
Példaképpen csatlakozzunk a már korábban is használt Test1 aliasra. Engedélyezzük a cache-elést és nyissunk meg egy-két táblát. Az Scache.ini tartalma valami ilyesmi lesz:
[TEST1]
dbo.authors=BDESC000.SCF
dbo.discounts=BDESC393.SCF
A példaprogramban számszerűsítjük, hogy mennyit is jelent ez a cache-elés. Először cache nélkül megnyitjuk a pubs adatbázis authors tábláját mondjuk ezerszer, majd ugyanezt megtesszük a cache-elés bekacsolása után is.
|
Könyv
Ez a cikk megtalálható ebben a könyvben:
Delphi Software Offline 2001 évkönyv 321. oldal
Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!
|