skanuj0310 (2)

skanuj0310 (2)



Rozdział 11. ♦ Więcej o SQL 325

W przypadku już istniejącej tabeli jej typ może zostać zmieniony za pomocą instrukcji ALTER TABLE o schematycznej postaci:

ALTER TABLE nazwajabeli ENGINE='typ' lub

ALTER TABLE nazwajtabeli TYPE='typ'

Indeksy

Indeksy pozwalają na znaczne przyspieszenie operacji przeszukiwania i przetwarzania danych zapisanych w tabelach. Indeks może składać się z jednej lub większej liczby kolumn. Podczas przeszukiwania tabeli niezawierającej indeksu niezbędne jest przeglądanie wszystkich wierszy od początku, aż do znalezienia właściwego, co przy dużych tabelach może zajmować dużo czasu, pamięci i mocy procesora. Operacja taka jest także spowalniana przez konieczność wykonywania wielu operacji dyskowych (chyba że przeszukiwane tabele w całości znajdują się w pamięci operacyjnej). Można by rzec, że utworzenie indeksu to utworzenie katalogu, który pozwala na szybkie dotarcie do wszystkich zindeksowanych danych.

Indeks może zostać utworzony już podczas tworzenia tabeli. Do instrukcji CREATE TABLE, za definicjami kolumn, należy dodać definicję indeksu. Taka konstrukcja ma schematyczną postać:

CREATE TABLE nazwaJabelil de finicje_kolumn.

IN0EX nazwa (kolumnal.....kolumna2.....kolumnaN)

W jednej tabeli może też istnieć wiele indeksów, indeksujących różne zestawy kolumn. Konstrukcja taka będzie miała wtedy postać:

CREATE TABLE nazwaJabelH definicje_kolumn,

IN0EX nazwał    (kolumnal.....kolumna2.....kolumnaN)

INDEX nazwa2    (.kolumnal.....kolumna2.....kolumnaN)

INDEX nazwaN    (kolumnal.....kolumna2.....kolumnaN)

Przykładowo, jeśli w tabeli Książki chcielibyśmy utworzyć indeks przyspieszający wyszukiwania książek według tytułów, tabela mogłaby zostać utworzona za pomocą instrukcji:

CREATE TABLE Książki(

Id INTEGER PRIMARY KEY.

Autorld INTEGER,

Tytuł VARCHAR(45).

INDEX TytułInd (Tytuł)


Wyszukiwarka

Podobne podstrony:
skanuj0297 (3) Rozdział 11. ♦ Więcej o SQL 311 Rozdział 11. ♦ Więcej o SQL 311 mysql> select tytu
skanuj0299 (2) Rozdział 11. ♦ Więcej o SQL 313 Rozdział 11. ♦ Więcej o SQL 313 mysql> SELECT tytu
skanuj0303 (2) Rozdział 11. ♦ Więcej o SQL 317 Której funkcji należy użyć, aby dowiedzieć się, jaka
skanuj0305 (3) Rozdział 11. ♦ Więcej o SQL 319 SELECT Klientld. MIN(Wartosc) AS MIN. MAX(Wartosc) AS
skanuj0314 (2) Rozdział 11. ♦ Więcej o SQL 329 Korzystanie z kluczy obcych wiąże się niestety z kilk
skanuj0318 (2) Rozdział 11. ♦ Więcej o SQL 333
skanuj0301 (2) Rozdział 11. ♦ Więcej o SQL 315 Tabela 11.1. Funkcje

więcej podobnych podstron