sql >> Databáze >  >> RDS >> Mysql

mysql příliš mnoho indexů?

Načítání dat -- příkazy SELECT.

Manipulace s daty -- příkazy INSERT, UPDATE, DELETE.

Pokud máte pocit, že chcete dosáhnout lepšího výkonu při načítání dat.

Na tabulkách, které uvidí těžkou manipulaci s daty -- vkládání, aktualizace...

Dotazy musí řešit pořadí sloupců při práci s krycím indexem (index na více než jednom sloupci), zleva doprava v definici sloupce indexu. Na pořadí sloupců v příkazu nezáleží, pouze na pořadí sloupců 1, 2 a 3 – příkaz musí mít odkaz na sloupec 1, než lze index použít. Pokud existuje pouze odkaz na sloupec 2 nebo 3, index pokrytí pro 1/2/3 nelze použít.

V MySQL lze použít pouze jeden index na SELECT/příkaz v dotazu (poddotazy/atd. jsou považovány za samostatný příkaz). A existuje limit na množství místa na tabulku, které MySQL umožňuje. Navíc spuštění funkce na indexovaném sloupci způsobí, že index nebude k ničemu - IE:

WHERE DATE(datetime_column) = ...


  1. Vyhledejte matici pro všechny obdélníky daných rozměrů (vyberte bloky sedadel)

  2. Ladění výkonu SQLite

  3. Základy tabulkových výrazů, 2. část – Odvozené tabulky, logické úvahy

  4. jak získat všechny výsledky n-tice mysql a převést na json