Befolyásolja indexek teljesítményét 1C Enterprise 8, gyorsítja az 1C
Gilev.ru | Felgyorsítása 1C: Enterprise | +7 909 9458594
- Nos, és a vizsgálatok! - mondta az adatbázist, és letette ...
A rövid válasz arra a kérdésre, a cím, hogy fog futni lekérdezések gyorsan és csökkenti a negatív hatással van a teljesítményre a zár a többjátékos módban.
Mi az index?
Mint a tartalmát a könyv, az index az adatbázis lehetővé teszi, hogy gyorsan keresni konkrét információt a táblázatban.
Először beszéljünk indexek MS SQL Server.
Az indexek jelölik a szerkezet, lehetővé teszi a gyors hozzáférést a táblázat sorait értékei alapján egy vagy több oszlopot.
Index tartalmazza a kulcsokat épül fel egy vagy több oszlopot a tábla vagy nézet, és azok a mutatók, amelyek képest előre adattároló helyét.
Indexek csökkenti az adatmennyiséget, hogy figyelembe kell venni annak érdekében, hogy vissza eredményhalmazt.
Bár az index és a társított egy adott oszlop (vagy oszlopok) a táblázat, bár ez egy külön objektum az adatbázisban.

Egyszerű tárgyak "Index" a 1C: Enterprise 8 sz.
táblák indexek adatok alapján az 1C: Enterprise jönnek létre implicit létrehozásakor konfigurációs objektumok, valamint alapján különböző konfigurációs beállításokat tárgyak.
A legkézenfekvőbb kapcsolási tulajdonságait az „Index” adatait és a mérési érték „Index” és „Index hozzá. Rendelés”. Option "" Index hozzá. Rendelés „” általában magában foglalja az oszlop „code” vagy „név” az index.

Egy másik kézenfekvő módja lehetséges legyen a hozzáadott metaadat tárgyak a metaadatok tárgy „kiválasztási kritériumokat.”

Megadhat egy index a táblázatban az értékek és az ideiglenes táblák, lekérdezések.
VÁLASSZON
a kód
név
PUT VremennayaTablitsa
AZ Spravochnik.Nomenklatura
Indexelt a kódot
Mindenesetre, azt kell megérteni, hogy beszélünk az indexek, valójában azt jelenti, az adatbázis indexek használt 1C: Enterprise. Kivételek tárgyak, mint például táblázat értékeit, amikor az indexek a RAM (RAM).
A fizikai lényege indexek MS SQL Server.
Fizikailag, az adatok tárolása 8KB oldalakon. Közvetlenül létrehozását követően, amíg a tábla nem indexek, az asztal úgy néz ki, mint egy halom (heap) adatai szerint. Bejegyzés nem egy konkrét tárolási sorrendben.
Ha hozzá szeretne férni az adatokhoz, az SQL Server elvégzi a táblázat vizsgálat (asztal scan). SQL Server beolvassa az egész táblázatot, ami meg kell találni a kívánt bejegyzést.
Ez magyarázza az alapvető funkciókat az indexek:
- növeli hozzáférés sebessége,
- támogatási adatokat egyediségét.
Annak ellenére, hogy az előnyöket az indexek is van néhány hátránya. Az első közülük - indexek több helyet a lemezen, és a memóriában. Minden alkalommal, amikor létrehoz egy indexet, akkor tartsa a kulcsot növekvő vagy csökkenő sorrendben, amely egy réteges felépítésű. És minél több / hosszabb a kulcs, annál nagyobb a mérete az index. A második hátránya - lassítja beszúrás, frissítés és törléséhez.
MS SQL Server környezetben nyújt számos index típusok:
- nem fürtözött indexek;
- klaszter (vagy csoportos) indexek;
- egyedi indexek;
- indexek benne oszlopok
- indexelt nézetek
- Full Text
- XML
nem-fürtözött index
Nem fürtözött index - nem újjáépíteni a fizikai szerkezete az asztal, de csak szervezni hivatkozások a megfelelő sor.
Azonosítani a megfelelő sort a táblázatban nem fürtözött index szervez speciális jeleket, többek között:
- információt azonosító szám fájl, amelyben a húr tárolják;
- ID oldalon a vonatkozó adatok;
- A kívánt sor számát az oldalon;
- oszlop tartalmának.
Nem fürtözött indexek valamelyest egy asztalnál.
Nem fürtözött index az asztalra, hogy nincs fürtözött index
Nem fürtözött index az asztalra, amelynek fürtözött index
Cluster (csoportos) index
A fő különbség fürtözött index az indexek más típusú az, hogy amikor meghatározzák a fizikai helyét a táblázat adatait megfelelően átrendezve az index szerkezetét. A logikai felépítése a táblázat ebben az esetben jelent szótárban helyett index. Az adatok a szótárban fizikailag elrendezve, ABC.
Fürtözött indexek, ami jelentősen növeli a keresési teljesítmény adatok, még akkor is, összehasonlítva a hagyományos indexek. A termelékenység fokozása különösen észrevehető, ha dolgozik, soros adatokat. Ha a táblázat határozza meg, nem fürtözött index, a kiszolgáló először alkalmazni az index, majd keresse meg a sort a táblázatban. Ha használja fürtözött indexek a következő adat található közvetlenül a talált adatok korábban. Ez kiküszöböli a felesleges kapcsolatos műveleteket hivatkozva index és keressük meg a kívánt új sort a táblázatban.
Természetesen csak egy fürtözött index lehet meghatározni a táblázatban. A fürtözött index tartalmazhat több, mint egy oszlop.
Szükséges, hogy ne alakuljon fürtözött index gyakran változott oszlopok, mert a szerver lesz elvégezni a fizikai mozgás valamennyi adat a táblázatban, hogy azok a megrendelt állapotban, ahogy azt a fürtözött index. Ahhoz intenzitás változása az oszlopok a legjobb, nem fürtözött index.
Amikor létrehoz egy elsődleges kulcs az asztalon (PRIMARY KEY), a szerver automatikusan létrehoz neki egy fürtözött index, ha ez korábban nem létezik, vagy ha a meghatározás nem volt kulcs határozza meg kifejezetten egy másik típusú index.
Amikor az asztal van meghatározva is egy nem-fürtözött index, az index nem utal a fizikai helyét a karakterlánc az adatbázisban, és a megfelelő elemet egy fürtözött index, amely leírja ezt a sort, amely lehetővé teszi, hogy ne átalakítására nem fürtözött indexek, amikor egy fürtözött index változása a fizikai sorrendben sorok a táblázatban.
Egyedülálló index
Az egyediségét az értékeket az indexelt oszlopok olyan egyedi indexek. Ha bármely kiszolgáló nem teszi lehetővé, hogy egy új vagy módosíthatja a meglévő értéket, hogy a művelet következtében az oszlop megjelent két azonos értékeket.
Egyedülálló index egyfajta felépítmény és lehet végrehajtani mind fürtözött és nem fürtözött index. Az egységes asztal lehet egy egyedi fürtözött és nem fürtözött egyedülálló indexek.
Egyedi indexek alapján kell meghatározni csak akkor, ha szükség van rá. Annak érdekében, hogy az adatok integritását az oszlopban, megadhatjuk a megszorítás egyedülálló vagy elsődleges kulcsot, ahelyett igénybe egyedi index. Ezek használata csak hogy biztosítsa az adatok integritását ésszerűtlen hulladék helyet az adatbázisban. Ezen túlmenően, a karbantartási és elvesztegetett CPU időt.
1C: Enterprise 8 aktívan használja fürtözött egyedi indexek. Ez azt jelenti, hogy kap egy hiba nem egyedi index.
A koncepció az elsődleges és idegen kulcs
Az elsődleges kulcs (elsődleges kulcs) - Az oszlopok egy táblázat, amelyek értéke egyértelműen meghatározott húr.
Idegen kulcs (foreign key). Ezt hívják idegen kulcs mező a tábla értékek tárolására az elsődleges kulcs egy másik tábla megszervezése érdekében közötti kommunikáció ezekben a táblázatokban. Idegen kulcs a táblázatban lehet hivatkozni ezen a nagyon asztalra. Az ilyen külső kulcsok elsősorban tárolására egy fa adatstruktúra egy relációs táblázatban. Adatbázisok támogatják az automatikus vezérlés referenciális integritás az idegen kulcsokat.
1C nem használ idegen kulcsokat. Hivatkozási integritás biztosítja az alkalmazás logikáját.
index korlátozások
Az index lehet létrehozni alapján több területen. Ebben az esetben van egy korlátozás - az index kulcs hossza nem haladhatja meg a 900 byte és egy 16-kulcsoszlopok. A gyakorlatban ez azt jelenti, hogy amikor létrehoz egy indexet, amely több mint 16 mező, az index csonka. Ez hatással lehet a teljesítményre, ha a szám összetett típusú subkonto több mint 4.
A jelenlegi kiadású platform készül optimalizálása az ügyet, és használja a hash-kulcs mezők, de lassabb, mint a „teljes” index.
index Statisztika
A Microsoft SQL Server gyűjt indexekre és adatmezőket az adatbázisban tárolt. Ezeket a statisztikákat használják SQL Server lekérdezés optimalizáló kiválasztja a legjobb lekérdezés végrehajtási terv kiválasztására vagy frissíteni az adatokat.
Amikor létrehoz egy indexet, a lekérdezés optimalizáló automatikusan tárolja az oszlopokon indexelt, statisztikák.
fragmentáció index

Optimalizálása elhelyezése indexek
A kötet a táblázatok nem teszi lehetővé számukra, hogy „marad” a szerver memóriájában, az első helyen van a sebesség lemezalrendszer (I / O). És akkor figyelni, hogy a képesség, hogy indexeket külön fájlokban különböző merevlemezek.

Részletes lépések http://technet.microsoft.com/ru-ru/library/ms175905.aspx
Használata az index fájlt egy másik csoportja a nem fürtözött index javítja a termelékenységet miatt párhuzamos végrehajtás az I / O folyamatok és önmagával index.
Annak megállapításához, a méretek említett használhatja a fenti eljárás.
A hatás mutatók zár
hatékonyság variancia
Már említettük, a cikk címe, hogy mi érdekli a hatása indexek a lekérdezések teljesítményét. Így indexek a legalkalmasabbak az alábbi feladatokat látja el:
- Kéri, hogy jelezze a „szűk” a keresési feltételeket. Az ilyen kérelmeket kell felolvasni csak egy kis vonalak száma, amelyek megfelelnek bizonyos kritériumoknak.
- Lekérdezések, amelyek jelzik egy értéktartomány. Ezek a kérések is olvassa el az apró sorok számát.
- Keresés, amelyet a kötési művelet. Oszlopok, amelyek gyakran használják a kulcs erejű, tökéletes indexek.
- Search, amelyben az adatok leolvasását egy bizonyos sorrendben. Ha az eredmény meg kell válogatni a sorrendben a fürtözött index, a válogatás nem szükséges, mert az eredmény meg már előre rendezve. Például, ha egy fürtözött index létrehozásakor oszlopokon lastname (név), keresztnév (utónév), és szeretne rendezni vezetéknevét az alkalmazást, majd név szerint, nincs szükség hozzá ORDER BY nyilatkozatot.
Igaz, az összes közüzemi indexek, van egy nagyon fontos, de - az index kell „hatékonyan használni”, és képesnek kell lennie arra, hogy megtalálják adatokat kevesebb IO és a rendszer erőforrásait. Ezzel szemben, a fel nem használt (ritkán használt) adatkódok inkább súlyosbítja a rögzítési sebesség (mivel minden egyes művelet az adatok módosítására is frissítenie kell az oldalt index), és hozzon létre felesleges mennyiségben található.
Bevonat (a kérelem) az úgynevezett index tartalmazza az összes szükséges mezőt a lekérdezés. Például, ha az index létrehozásakor oszlopokon a, b és c, és a SELECT lekérdezi az adatokat csak azokat az oszlopokat, hogy szükség van hozzáférni csak az index.
Be kell jelentkeznie, hogy a hozzászólásod.
A Microsoft SQL Server Native Client 10,0: Figyelem! A maximális kulcs hossza - 900 bájt. Index «_CommonSett_ByKey_SSS» maximális hossza 1152 bájt. Bizonyos kombinációja a nagy
értékek betétek vagy frissítéseket nem lehet végrehajtani.
HRESULT = 80040E2F, HRESULT = 80040E2F, SQLSrvr: SQLSTATE = 23000, State = 1, súlyossága = 10, natív = 1505, vonal = 1
SQLSrvr: SQLSTATE = 01000, State = 1, súlyossága = 0, natív = 1945 vonal = 1