Indeksointi
Mitä tarkoitetaan tietokantojen indeksoinnilla.

Esimerkki
Algoritmit
B-tree (B-puu)
Käytännön esimerkki
Mitä indeksejä tietokannassa on?

Esimerkki 01
Lähteet
Last updated
SELECT DISTINCT TABLE_NAME, INDEX_NAME
FROM INFORMATION_SCHEMA.STATISTICS
WHERE TABLE_SCHEMA = 'employees' -- employees on siis tietokannan nimi tässä.
-- Yhden taulun indeksit voi hakea seuraavalla komennolla:
SHOW INDEX FROM employees;-- Haetaan työntekijöiden suurin palkka niiltä
-- joiden työnimike on Technique Leader sekä
-- etunimi tai sukunimi alkaa Emi -merkeillä.
SELECT
em.emp_no,
MAX(sa.salary),
em.first_name,
em.last_name
FROM salaries as sa
LEFT JOIN employees as em USING(emp_no)
LEFT JOIN titles as ti using(emp_no)
WHERE ti.title like 'Technique Leader'
and (em.first_name like 'Emi%' or em.last_name like 'Emi%')
GROUP BY em.emp_no
-- Sama kysely käyttäen EXPLAIN komentoa
EXPLAIN SELECT
em.emp_no,
MAX(sa.salary),
em.first_name,
em.last_name
FROM salaries as sa
LEFT JOIN employees as em USING(emp_no)
LEFT JOIN titles as ti using(emp_no)
WHERE ti.title like 'Technique Leader'
and (em.first_name like 'Emi%' or em.last_name like 'Emi%')
GROUP BY em.emp_no
-- Komentojen indeksien luontiin
ALTER TABLE `employees`.`employees` ADD INDEX `ix_employees_firstname` (`first_name`);
ALTER TABLE `employees`.`employees` ADD INDEX `ix_employees_lastname` (`last_name`);