Utilizarea indicilor în accesul ms

Pentru prima dată, am fost confruntat cu indicii de pe Linux-router atunci când numărare a traficului pe Internet. După ce a citit pe internet că administratorii băieți „dreapta“, a construi un router exclusiv pe Linux, și este mai potrivite unele vechi, mult timp folosit de Celeron, care este doar un morman de fier va da o viață nouă. Și a mers: Celeron 700 Asamblate, 256 MB, 40 GB hard-disk, două rețele de software: Debian, MySQL, Apache, iptables, script samopisny (iptables jurnalele și Analizează înregistrări într-un tabel de baze de date MySQL). Am stabilit și să uitați. a servit acest router credinciosie peste un an, când am avut nevoie să se uite la statisticile utilizate de trafic în ultima lună. În phpMyAdmin marcat rapid sql-interogare, faceți clic pe Du-te, am foșneau hard disk-ul serverului și gândit la asta timp de douăzeci de minute. Solicită ca utilizatorii nemulțumiți, am dat seama că internetul ei sunt cele douăzeci de minute nu a făcut-o. A trebuit să facem ceva.
Dimensiunea tabelului bazei de date a fost doar un imens - mergând pe milioane de înregistrări. Primul lucru care a venit în minte este de a împărți o masă mare în mai mici, de exemplu, de luni (partiționarea). Dar mai întâi am decis să încerc să adăugați un index la o dată. Rezultatul am fost surprins placut - statistici pe zi scuipă mai puțin de o secundă. Deoarece proiectarea indicilor structurii bazei de date, am plăti o mulțime de atenție.
Cum funcționează indexurile?
Pentru a înțelege de ce performanța indexată de interogare creștere câmp, trebuie să înțelegem modul în care baza de date produce o operațiune de prelevare de probe. Să aibă unele mese de la care doriți să obțineți înregistrări care se potrivesc cu conditia specificata. Dacă câmpul pe care este implicat în starea de selecție nu este indexat, este necesar să se verifice fiecare intrare a tabelului pentru a efectua condițiile de selecție - scanează întregul tabel, și este foarte lent (mai ales în cazul în care masa este mare). În cazul în care câmpul este implicat în starea de selecție este indexat, valoarea acestui câmp sortat deja (crescator sau descrescator), care permite de a utiliza algoritmi de căutare eficiente fără a fi nevoie de a scana masa.
Când se utilizează indici?
Imediat avertizează: ar trebui să reziste tentației de a face toate câmpurile din tabelul indexată. În primul rând, aceasta va afecta în mod negativ timpul de inserare și înregistrările actualizare. În al doilea rând, indicii trebuie să fie stocate undeva - va crește dimensiunea fișierului bazei de date.
necesitatea indexabil de a face:
- câmpuri utilizate pentru formarea condițiilor de eligibilitate (du-te după UNDE cuvânt în SQL-interogare);
- câmp, pe care un fel - în acest caz, ar fi util să se precizeze ordinea de sortare;
- câmpurile care sunt utilizate pentru a se alăture tabele în interogare.
De asemenea, dacă este posibil, este necesar să se facă un index unic și nu permit valori NULL.
Pentru a determina care indexurile sunt utilizate de interogări Access Optimizer poate fi uitat la planul de execuție interogare.
Pentru a rezuma, utilizarea corectă a indicilor de acces crește viteza de execuție a cererilor, cu toate acestea, ca orice agent de puternic, în codurile de acces ar trebui să fie folosite cu înțelepciune. câmpurile indexării unul dintre cei mai importanți factori în creșterea productivității aplicații Microsoft Access.
Și, în sfârșit, nu pot menționa importanța designului de calitate și instalarea rețelei de cablu, cu atât mai mult pentru instalarea unei rețele locale de stabilire a prețurilor este disponibilă, care vă permite să uitați despre salvarea pe construcția de SCS și LAN.