Tippek a hatásos karbantartás adatbázis SQL Server adatok - az egészet, és a programozás

Page 3 4

fragmentáció index

Eltekintve töredezettség a fájlrendszer szinten és a log fájl is lehetséges töredezettség belül adatfájlokat struktúrák adatokat tároló táblák és indexek. Belül az adatállományt is előfordulhat két alaptípusa töredezettség:

Ábra. 1. A szerkezetet az adatbázisban oldalak

A leggyakoribb a belső töredezettség okozta ezeket a változásokat, mint a betétek, frissítések, és töröl, amely elhagyja üres hely az oldalon. Hibás ártalmatlanítás terhelhetőség is elősegítheti töredezettség részletek a dokumentációban. Attól függően, hogy a rendszer az asztal / index és az alkalmazások teljesítményét egy üres hely nem lehet alkalmas az újrafelhasználásra a bekövetkezése után, ami ahhoz vezethet, hogy egy állandó növekedése a nem használt helyet az adatbázisban.

Vegyünk például egy asztal 100 millió sor, ahol az átlagos rekord méretű 400 bájt. Idővel az alkalmazás adatait megváltoztatja a mintát eredményez átlagosan 2800 byte szabad hely az oldalon. Összesen szükséges helyet a táblázat 59 GB, ez a származik a következő képlettel számítható: 8096-2800 / 400 = 13 bejegyzéseket egy 8-KB oldalak, majd ossza 100 millió 13, megszerezni az oldalak számát. Ha a hely nem veszett el, akkor ugyanazon az oldalon lehetett illeszteni 20 bejegyzés, ami csökkenti a teljes terület szükséges, akár 38 GB. Egy hatalmas megtakarítás!

A fel nem használt helyet data / index oldalak ezért vezet tartani ugyanazt a mennyiségű adatot a nagy oldalak száma. Ez nemcsak nagyobb mértékű fogyasztása lemezterület, hanem azt is jelenti, hogy a kérelem kell tölteni több I / O olvasni az azonos mennyiségű adat. És mindezek külön oldalak több helyet foglalhat el az adat cache, így figyelembe a szerver memóriájában.

Ábra. A 2. ábra az újonnan létrehozott index oldal 100 százalékos terhelhetőség - a teljes oldal, és a fizikai lapsorrendet megegyezik a logikai sorrendben. Ábra. A 3. ábra a töredezettség után esetlegesen előforduló véletlen insert / update / törlések.

Ábra. 2. Az újonnan létrehozott index oldalon nincs töredezettség, az oldalak tele vannak 100%

A széttagoltság néha megelőzhető megváltoztatásával asztal / index séma, de ahogy már említettük, akkor nagyon nehéz vagy lehetetlen. Ha a megelőzés nem lehetséges, vannak olyan módon, hogy megszüntesse törés utáni fogva - különösen azáltal, hogy csökkenti vagy átszervezésével az index.

Néhány felhasználó egyszerűen úgy dönt, hogy javítási vagy újjáépíteni az összes indexet minden éjszaka, vagy minden héten (például egy variáns szolgáltatási terv), ahelyett, kitalálni, hogy melyik indexet töredezettek, és milyen előnyöket megszünteti töredezettség. Bár ez lehet egy jó megoldás egy önkéntelen DBA, aki csak kívánja alkalmazni valamilyen megoldást minimális erőfeszítéssel, ez lehet egy nagyon rossz választás a nagyobb adatbázisok és rendszerek, ahol az erőforrások elegendőek.

Bármelyik módszert is használjuk, akkor erősen ajánlott, hogy rendszeresen keresik, és megszünteti fragmentáció.

A lekérdezés feldolgozó része SQL Server, amely úgy dönt, hogyan kell elvégezni a vizsgálatot - vagyis hogyan kell használni a táblák és indexek, és bármelyik műveletét őket, hogy eredményeket; ezt nevezik a lekérdezési terv. A legfontosabb bemeneti a döntéshozatali folyamat magában leíró statisztikák eloszlása ​​adatértékeit oszlopok a táblában vagy indexet. Nyilvánvaló, hogy hasznos lehet a Query processzor, a statisztikák pontosnak kell lennie, és a friss, egyébként terméketlen lekérdezési tervek lehet választani.

Statisztika által generált adatok olvasása tábla / index és eloszlását meghatározó adatokat a megfelelő oszlopokban. Statisztikák épülhet beolvasásával az összes adatot értékeket egy adott oszlopban (teljes ellenőrzést), de ez is lehet építeni alapján százalékos adatok a felhasználó által megadott (teszt példák). Ha az értékek eloszlásának egy oszlopban viszonylag egyenletes, a teszt példák elegendő lehet, és ez teszi létrehozása és folyamatos frissítése a statisztikát gyorsabb, mint a teljes ellenőrzést.

Ábra. 4. Változó adatbázis beállításait az SQL Server Management Studio

Ha azt szeretnénk, hogy frissítse a statisztika részeként rendszeres karbantartási terv, akkor tisztában kell lenniük a trükk. ÉS FRISSÍTÉS statisztika és sp_updatestats használhatók korábban meghatározott szintű adatgyűjtés alapértelmezés (ha megadjuk néhány) - és lehet, hogy kevesebb, mint egy teljes ellenőrzést. hasznosítás index automatikusan frissíti a statisztikák alapján a teljes ellenőrzést. Abban az esetben manuálisan frissíteni statisztika után index újjáépíteni, akkor kap még kevésbé pontos statisztikák! Ez akkor fordulhat elő, ha a teszt példa a kézi frissítés felülírja a teljes scan, hozzon létre egy helyreállítási index. Másrészt, a statisztikák nem frissíti, ha az index átszervezés.

Ismét sok van egy karbantartási tervet, amely frissíti az összes statisztikát bizonyos ponton előtt vagy után a hasznosítás minden indexek - és anélkül, hogy tudnánk, akkor bizonyulhat kevésbé pontos statisztika. Ha úgy dönt, egy egyszerű helyreállítási összes indexek időről időre, akkor vigyázni a statisztikákat. Ha úgy dönt, egy sokkal kifinomultabb módon a megszüntetése töredezettség, érdemes csinál, és a statisztikák szolgáltatás. I-hez a következőket:

  • Elemzése indexek és megállapítják, index kell dolgozni, és hogyan töredezettségmentesítéséről.
  • Frissítse a statisztika az összes indexek már helyreállt.
  • Frissítse a statisztika az összes nem-indexelt oszlopok.

Mindezek a kérdések mindig látni, hogy az SQL Server fórumok, így ebben a cikkben fogom, hogy áttekintést adjon a fakitermelés és hasznosítás és megmagyarázni, hogy miért van ez szerves része a modul tároló SQL Server. építészet a tranzakciós napló felül kell vizsgálni, és hogyan arr.

De ez az egyetlen dolog, hogy lehet tenni? Lehetőség van, hogy végezzen a prediktív teljesítmény nyomon követése, az egyszerű ellenőrzési eljárás, amely egy meghatározást az alapvető paraméterek a rendszer működését, a készítmény a szabványok és a folyamatos ellenőrzés. Ebben a cikkben fogok beszélni, hogyan állítják.

Azonban, ha nem kell megtenni. Van egy nagyon egyszerű használata helyett, amit még mindig ismert a hash tömb vagy hash kulcs. Mi tördeljük? Röviden, hashing - az egész eredményt az algoritmus (ismert, mint egy hash függvény) és az egy adott vonal.

Kapcsolódó cikkek