Prettylib-tuoteratkaisut - Wiki

SQL Server -tietokannan optimointia rakennetta muuttamatta

SQL Server -tietokantapalvelimen tietokannat voivat ajan kanssa pirstoutua tai kasvaa tarpeettomasti. Alla olevassa artikkelissa on joitakin toimenpiteitä, joilla tietokannan suorituskykyä voidaan parantaa muuttamatta tietokannan sisältöä tai rakennetta.

Alla olevissa oletetaan käyttäjän osaavan SQL Server -komentojen suorittamisen ja SQL Server Management Studion käytön.

Statistiikka

Tietokanta sisältää SQL Serverin ylläpitämää tilastoa taulujen sisällöstä. Tämä tilasto on oleellinen tieto SQL Serverin päättäessä kyselyä parsiessaan, miten kysely kannattaa sisäisesti suorittaa.

Erityisesti tietokannan siirron jälkeen (varsinkin vanhemman versioisesta SQL Server palvelimesta uuteen) kannattaa suorittaa tietokannalle tämä yksinkertainen komento. Tämä suorittaa "UPDATE STATISTICS" komennon kaikille tietokannan tauluille.

USE tietokannannimitähän; GO EXEC sp_updatestats;


Voi myös käyttää seuraavaa, joka on vielä perinpohjaisempi.

USE tietokannannimitähän; 
GO 
EXEC sp_MSforeachtable @command1='UPDATE STATISTICS ? WITH FULLSCAN';


Update usage

Tämä päivittää tilan käyttöön liittyviä tietoja. Hyvä ajaa siirrettäessä vanhemmalta SQL Server palvelimelta uudemmalle.

DBCC UPDATEUSAGE(tietokannannimitähän);

Indeksien eheyttäminen

Tietokannan hakujen nopeuttamiseksi tietokantoihin rakennetaan ns. indeksejä, jotka kertovat SQL Serverille mistä kohtaa taulua mikäkin tieto yleensä löytyy. Indeksit voivat pirstoutua ajan kanssa niin kuin varsinainen tietosisältökin.

Indeksejä voidaan eheyttää muutamallakin eri tavalla. Ohessa muutama.

Indeksien uudelleenrakentaminen käyttäen Management Studio -työkalua

= HUOM: PrettyLib- ja PrettyCirc-tuotteita koskeva. Ei päde tällaisenaan tietokantoihin yleisesti.

  1. Avaa management studio "Object Explorer"-listasta "Databases".
  2. Avaa haluttu tietokanta (esim PrettyLib).
  3. Avaa "Tables".
  4. Avaa jokin seuraavista tauluista:
    - Words
    - Words2
    - WordsTitle
    - Title
    - Item
  5. Valitse hiiren valikkopainikkeella kohta "Indexes".
  6. Valitse "Rebuild All" -> Valitse "Ok".
  7. Toista kohdasta 4 muut taulut.


Ylläolevan manuaalisen toimenpiteen voi myös suorittaa SQL scriptillä, alla asiasta lisää.

Indeksien eheyttäminen käyttäen SQL Server scriptiä

Indeksien eheyttäminen on huomattavasti helpompaa, mikäli sen voi suorittaa automatisoidusti tai edes puoliksi automaattisesti.

Indeksien uudelleenrakentaminen SQL scriptillä