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 Databases