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 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ł)