Co je skenování celé tabulky?
Prohledávání celé tabulky je jedním z nejpomalejších, ale nejdůkladnějších způsobů skenování databáze. Důvod, proč je tato metoda skenování tak pomalá, je, že databáze přečte každý řádek a zkontroluje, zda je pro dotaz nebo podmínku uloženou správcem platný jeden nebo více sloupců. Nejběžnějším spouštěčem pro skenování celé tabulky je to, že databáze neobsahuje řádek indexu, ze kterého může být dotaz spuštěn. Obvykle je lepší skenovat tabulku ručně, pokud hledáte jeden řádek, ale pokud hledáte více nebo při pohledu přes velký stůl, bude prohledávání celé tabulky fungovat lépe.
Databáze přicházejí s funkcemi skenování, které prohledávají tabulky, aby nalezly informace nebo zkontrolovaly tabulku, aby zajistily, že splňuje podmínku. Prohledávání celé tabulky je nejdůkladnější prohledávání, protože i když najde řádek, který odpovídá podmínce, bude pokračovat v prohledávání zbývajících řádků. Tato funkce je drahá, což znamená, že využívá velké množství paměti, protože skenování čte a zapisuje do každého řádku a také provádí více pokusů o důkladnou kontrolu řádku. Při provádění dotazu nebo funkce je nutná úplná kontrola, ale databáze neuvidí index pro spuštění dotazu.
Index je sloupec v tabulce, který indexuje informace o tabulce podle preferencí správce. Například pokud chce správce indexovat informace o jménech, sloupec indexu zaznamená polohu každého jména. To pomůže administrátorovi i databázi najít informace skryté hluboko v databázi. Pokud není v tabulce umístěn žádný index, obvykle se automaticky spustí kontrola celé tabulky, aby se umožnil spuštění dotazu.
Tolik paměti je přiděleno prohledávání celé tabulky a je tak důkladné, že úplné prohledávání je velmi pomalé. Pokud správce pro dotaz pouze potřebuje jeden nebo několik řádků, je obvykle rychlejší vytvořit malý index. I když je to pravda, pokud je dotaz velký, úplné skenování může ve skutečnosti fungovat rychleji. Pokud správce vytváří dotaz, který ovlivňuje 5 procent nebo více celé databáze, bude plná kontrola obvykle schopna provést funkci rychleji, než správce provede stejnou věc ručně.
Správce často používá funkci „VYPLATIT PLÁN“, která provede rychlé prohledání tabulky. Toto ukáže administrátorovi, zda je pro dotaz potřeba index. Na základě výsledků bude administrátor vědět, zda dotaz může běžet tak, jak je, zda by měl provést nebo vyhledat index, nebo zda bude efektivní skenování celé tabulky.