Indexy v MySQL
Karel Zak
zakkr na zf.jcu.cz
Čtvrtek Září 21 11:17:30 CEST 2000
On Thu, 21 Sep 2000, Miroslav Oravec wrote:
> Prajem pekny den,
>
> funguju v MySQL klasicke indexy ako v napr. v DBF aleo Foxke?
> A ako sa pouzivaju?
>
> Zistil som , ze sa index nahradza primary key-om, ale to nie je to
> prave....
>
> Ja potrebujem, aby som mal pre jednu tabulku viac indexov, napr jeden na
> hladanie podla mena, druhy podla mesta, treti podla tlf a podobne.
>
> No a ked budem robit s touto tabulkou podla mena, zavolam index na meno,
> ked podla mesta, tak index pre mesto...
>
> Ako na to?
Doporucuji nejdrive si neco prostudovat o SQL, ono to neni to same
jako Foxka...
V SQL je uzivatel do jiste miry oddelen od toho jak se ma vydledavat
a co a jak se ma pri tom vyhledavani pouzit. Proste pisete jen SQL dotazy
a server dle definice tabulky (a spol.) pouzije pokud mozno ty nejlepsi
prostredky. Tedy nepracujete primo s nejakym indexem...
jinak viz.:
CREATE TABLE a definice sloupce jako PRIMARY KEY, UNIQUE
CREATE INDEX ...
napr:
CREATE TABLE aaa
(
rc int PRIMARY KEY,
jmeno text,
meslo text
);
CREATE INDEX aaa_jmeno ON aaa (jmeno);
CREATE INDEX aaa_mesto ON aaa (mesto);
SELECT * FROM aaa WHERE rc = '212121212';
.. server by mel pokud uzna za vhodne pouzit index, ktery si vytvoril pro
primarni klic.
SELECT * FROM aaa WHERE mesto = 'Praha';
.. server by mel pokud uzna za vhodne pouzit index aaa_mesto,
SELECT * FROM aaa WHERE jmeno = 'Pepa';
.. server by mel pokud uzna za vhodne pouzit index aaa_jmeno
Pochopitelne jak a kdy se index pouzije zalezi na implementaci daneho SQL
serveru a na jinych okolnostech (zaplneni tabulky apod.).
Karel
Další informace o konferenci Test