
Tanken var att koden ska se ut "som vanligt"...
> Men då behöver jag alltså inte blanda in index i koden för att söka i tabellen?
Det gör man *aldrig* med SQL. SQL syntaxen är helt oberoende av
den *fysiska* implementeringen av databasen. D.v.s hurvida det
finns index eller inte, om tabellen är partitionerad eller inte (om det stöds)
o.s.v.
Den enda gången du behöver bry dig om index är vid CREATE INDEX,
DROP INDEX o.s.v. Resten sköts av databasen.
Query-optimizern tar hand om att använda index *om* de finns.
Även att välja *mellan* index, om det finns flera.
Eller att välja att *inte* använda indexen, om det verkar effektivare.
Även att bestämma *hur* indexen ska användas, man kan läsa index
via "lookup" (net vanliga, binärträdssökningen) eller via index-scan (t.ex
om man söker på ett fält som är nr två av de indexerade fälten) T.ex :
CREATE INDEX idx1 ON tab1 (fld1, fld2)
En sökning med "WHERE fld1='abc') gör en table-lookup.
En sökning med "WHERE fld2='abc') kan göra en table-scan, *om*
MySQL stöder table-scans, det vet jag inte...