Ha gyakran végez keresést valamely Access-táblában, vagy egy adott mező szerint rendezi az abban tárolt rekordokat, a műveletek gyorsítása végett létrehozhat egy mezőindexet. Az Access úgy használja a táblákban az indexeket, ahogyan a tárgymutatót használjuk a könyvekben: az adatok kereséséhez az Access megkeresi azok helyét az indexben. Bizonyos esetekben (például elsődleges kulcs használatakor) az Access automatikusan létrehozza az indexet. Máskor viszont célszerűbb kézzel létrehozni azt.
Ez a témakör az indexeket mutatja be, segítséget nyújt annak eldöntéséhez, hogy mely mezőket érdemes indexelni, és tájékoztatást ad az indexek létrehozásáról, törléséről és módosításáról is. Szót ejt azokról a körülményekről is, amelyek fennállása esetén az Access automatikusan létrehozza az indexeket.
Tartalom
Megjegyzés: A cikkben leírt módszerekkel a webes adatbázisok tábláihoz nem lehet indexet létrehozni. A webes adatbázis teljesítménye több tényezőtől, többek között az adatbázist üzemeltető SharePoint-kiszolgáló teljesítményétől függ.
Mi az az index?
Az indexek segítségével az Access gyorsabban megkeresi és rendezi a rekordokat. Az indexek tárolják a rekordok helyét az indexhez kiválasztott mező vagy mezők alapján. Miután az Access beolvasta a helyet az indexből, közvetlenül a megfelelő helyről kérheti le az adatokat. Ily módon az indexek használata jelentősen gyorsabb lehet, mintha az összes rekordot át kellene vizsgálni az adatok megkereséséhez.
Az indexelendő mezők meghatározása
Létrehozhat egy vagy több mezőn alapuló indexeket. Célszerű indexelni a gyakran keresett mezőket, valamint azokat, amelyeket rendez és amelyeket más táblákban lévő mezőkhöz kapcsol a többtáblás lekérdezésekben. Az indexek felgyorsíthatják a kereséseket és a lekérdezéseket, az adatok hozzáadásakor vagy frissítésekor azonban lassíthatják a teljesítményt. Amikor egy vagy több indexelt mezőt tartalmazó táblában adatokat ad meg, az Accessnek minden rekord hozzáadásakor vagy módosításakor frissítenie kell az indexeket. A rekordok hozzáadása hozzáfűző lekérdezés használatával vagy importált rekordok hozzáfűzésével szintén lassabb, ha a céltábla indexeket tartalmaz.
Megjegyzés: A táblák elsődleges kulcsának indexelése automatikusan megtörténik.
A mező nem indexelhető abban az esetben, ha az adattípusa OLE-objektum, Számított vagy Melléklet mező. Egyéb mezők esetén akkor célszerű az indexelés, ha az alábbi feltételek mindegyike igaz:
-
A mező adattípusa: Rövid szöveg, Hosszú szöveg, Szám, Dátum/idő, Számláló, Pénznem, Igen/Nem vagy Hivatkozás.
-
Előre tudható, hogy a mezőben tárolt értékeket keresni fogja.
-
Előre tudható, hogy a mezőben tárolt értékeket rendezni fogja.
-
Előre tudható, hogy a mezőben sok különféle értéket kell tárolni. Ha a mezőben sok érték azonos, akkor az indexelés valószínűleg nem gyorsítja jelentősen a lekérdezéseket.
Több mezőből álló index
Ha gyakran keres vagy rendez egyszerre két vagy több mező alapján, akkor az adott mezőkombinációhoz létrehozhat egy külön indexet. Ha például ugyanabban a lekérdezésben gyakran ad meg feltételeket a Szállító és a Terméknév mezőhöz, akkor célszerű több mezőből álló indexet létrehoznia mindkét mezőn.
Amikor egy táblát több mezőből álló index alapján rendez, az Access először az index első mezője szerint rendez. A mezők sorrendje a több mezőből álló index létrehozásakor állítható be. Ha több olyan rekord is van, amely az első mezőben azonos értékkel rendelkezik, akkor az Access az index második mezője szerint is elvégzi a rendezést és így tovább.
Az indexbe legfeljebb 16 mező foglalható bele.
Index létrehozása
Index létrehozásához először el kell dönteni, hogy egy vagy több mezőből álló indexre van-e szüksége. Egy adott mező indexének létrehozásához az Indexelt tulajdonságot kell beállítani. Az alábbi táblázat az Indexelt tulajdonság lehetséges beállításait összegzi.
Az Indexelt tulajdonság beállítása |
Jelentés |
---|---|
Nem |
Ne hozzon létre a program indexet ehhez a mezőhöz (vagy törölje a már meglévő indexet) |
Igen (lehet azonos) |
Index létrehozása ehhez a mezőhöz |
Igen (nem lehet azonos) |
Egyedi index létrehozása ehhez a mezőhöz |
Egyedi index létrehozásakor az Access csak akkor engedélyezi új érték beírását a mezőbe, ha az érték még nem létezik egy másik rekord ugyanezen mezőjében. Az Access automatikusan egyedi indexet hoz létre az elsődleges kulcsokhoz, de célszerű tiltani azt, hogy más mezőkben azonos értékek szerepeljenek. Egyedi indexet hozhat létre például egy sorozatszámokat tároló mezőhöz annak érdekében, hogy két terméknek ne lehessen ugyanaz a sorozatszáma.
Egyetlen mezőből álló index létrehozása
-
A navigációs ablaktáblában kattintson a jobb gombbal annak a táblának a nevére, amelyben létre szeretné hozni az indexet, és a helyi menüben válassza a Tervező nézet parancsot.
-
Kattintson az indexelendő mező Mezőnév címkéjére.
-
Kattintson a Mezőtulajdonságok csoportban az Általános fülre.
-
Az Indexelt tulajdonság legördülő listájában válassza az Igen (lehet azonos) listaelemet (ha engedélyezi az ismétlődést) vagy az Igen (nem lehet azonos) listaelemet (egyedi index létrehozásához).
-
A módosítások mentéséhez kattintson a gyorselérési eszköztáron lévő Mentés gombra, vagy nyomja le a CTRL+S billentyűkombinációt.
Több mezőből álló index létrehozása
Tábla több mezőből álló indexének létrehozásához minden egyes mezőhöz külön-külön sort kell belefoglalni az indexbe, annak nevét azonban csak az első sorban szabad szerepeltetni. Az Access mindaddig ugyanannak az indexnek a részeként kezeli az összes sort, amíg egy másik indexnevet tartalmazó sort nem észlel. Sor beszúrásához kattintson a jobb gombbal a leendő sor helyére, majd kattintson a helyi menü Sorok beszúrása parancsára.
-
A navigációs ablaktáblában kattintson a jobb gombbal annak a táblának a nevére, amelyben létre szeretné hozni az indexet, és a helyi menüben válassza a Tervező nézet parancsot.
-
A Tervezés lap Megjelenítés/elrejtés csoportjában kattintson az Indexek gombra.
Megjelenik az Indexek ablak. Méretezze át az ablakot úgy, hogy néhány üres sor megjelenjen, és megjelenjenek az indextulajdonságok.
-
Az Indexnév oszlop első üres sorába írja be az index nevét. Az indexnek nevet adhat valamelyik indexmező alapján, de használhat más nevet is.
-
A Mezőnév oszlopban kattintson a nyílra, és válassza ki az indexhez használandó első mezőt.
-
A következő sorban hagyja üresen az Indexnév oszlopbeli mezőt, majd a Mezőnév oszlopban válassza ki az index második mezőjét. Ismételje a lépést mindaddig, amíg meg nem adta az index összes mezőjét.
-
Ha más rendezési sorrendet szeretne a mező értékeihez, válassza az Indexek ablak Rendezési sorrend oszlopában a Növekvő vagy a Csökkenő listaelemet. Az alapértelmezett rendezési sorrend a Növekvő.
-
Az Indexek ablak Indextulajdonságok csoportjában adja meg az Indexnév oszlop indexnevet tartalmazó sorának indextulajdonságait. Ehhez az alábbi táblázat nyújt támpontot.
Címke
Érték
Elsődleges
Ha az Igen értéket választja, az index az elsődleges kulcs.
Egyedi
Az Igen listaelem választása esetén az index valamennyi értéke csak egyedi lehet.
Null érték kihagyása
Ha az Igen érték van megadva, akkor az indexelt mezőkben lévő, Null értékkel rendelkező rekordokat kihagyja az indexből a program.
-
A módosítások mentéséhez kattintson a gyorselérési eszköztáron lévő Mentés gombra, vagy nyomja le a CTRL+S billentyűkombinációt.
-
Zárja be az Indexek ablakot.
Index törlése
Ha úgy találja, hogy valamely index már szükségtelen, esetleg túl nagy mértékben befolyásolja hátrányosan a számítógép teljesítményét, törölheti az indexet. A törlés végrehajtásakor a rendszer csak az indexet távolítja el, az alapjául szolgáló mezőt (vagy mezőket) nem.
-
A navigációs ablaktáblában kattintson a jobb gombbal annak a táblának a nevére, amelyben törölni szeretné az indexet, és a helyi menüben válassza a Tervező nézet parancsot.
-
A Tervezés lap Megjelenítés/elrejtés csoportjában kattintson az Indexek gombra.
Megjelenik az Indexek ablak. Méretezze át az ablakot úgy, hogy néhány üres sor megjelenjen, és megjelenjenek az indextulajdonságok.
-
Jelölje ki az Indexek ablakban azokat a sorokat, amelyek a törölni kívánt indexet tartalmazzák, majd nyomja meg a DELETE billentyűt.
-
A módosítások mentéséhez kattintson a gyorselérési eszköztáron lévő Mentés gombra, vagy nyomja le a CTRL+S billentyűkombinációt.
-
Zárja be az Indexek ablakot.
Indexek megtekintése és szerkesztése
A szóban forgó tábla indexeinek megjelenítésére akkor lehet szükség, ha fel szeretné mérni a teljesítményre gyakorolt hatásukat, vagy meg szeretne bizonyosodni arról, hogy az adott mezők indexelve vannak.
-
A navigációs ablakban kattintson a jobb gombbal annak a táblának a nevére, amelyben módosítani szeretné az indexet, és a helyi menüben válassza a Tervező nézet parancsot.
-
A Tervezés lap Megjelenítés/elrejtés csoportjában kattintson az Indexek gombra.
Megjelenik az Indexek ablak. Méretezze át az ablakot úgy, hogy néhány üres sor megjelenjen, és megjelenjenek az indextulajdonságok.
-
Végezze el a szükséges változtatásokat az indexeken és azok tulajdonságain.
-
A módosítások mentéséhez kattintson a gyorselérési eszköztáron lévő Mentés gombra, vagy nyomja le a CTRL+S billentyűkombinációt.
-
Zárja be az Indexek ablakot.
Indexek automatikus létrehozása
Bizonyos esetekben az Access automatikusan létrehoz önnek indexeket. A rendszer például automatikusan létrehoz egy indexet minden olyan mezőhöz vagy mezőhöz, amelyet a tábla elsődleges kulcsaként jelöl meg.
Indexek automatikus létrehozására Az Access beállításai párbeszédpanel Automatikus indexelés importáláskor és létrehozáskor beállítása is használható. Az Access automatikusan indexeli az összes olyan mezőt, amelynek neve az Automatikus indexelés importáláskor és létrehozáskor mezőbe írt karakterekkel kezdődik vagy végződik, például ID, kulcs, kód vagy szám. Az érvényben lévő beállítás megtekintéséhez vagy módosításához az alábbiakat kell tennie:
-
Kattintson a Fájl fülre, majd a Beállítások parancsra.
-
Kattintson az Objektumtervezők kategóriára, majd a Táblatervező nézet csoportban módosítsa az Automatikus indexelés importáláskor és létrehozáskor mező értékeit. Az értékeket pontosvesszővel (;) válassza el egymástól.
Megjegyzés: A program minden olyan esetben automatikusan indexeli a mezőt, ha annak neve a beírt értékek valamelyikével kezdődik vagy végződik.
-
Kattintson az OK gombra.
Mivel minden újabb index további feladatokat jelent az Access számára, az adatok hozzáadásakor vagy frissítésekor a rendszer teljesítménye csökken. Ezért célszerű lehet módosítani az Automatikus indexelés importáláskor és létrehozáskor mezőben lévő értékeket, vagy az értékek számának csökkentésével mérsékelni a létrehozott indexek mennyiségét.