MyISAM
MyISAM je nejpoužívanější a až do verze 5.1 výchozí formát úložiště dat (storage engine) v databázovém systému MySQL. Je následovníkem formátu ISAM (Indexed Sequential Access Method). ÚložištěMyISAM obvykle ukládá každou tabulku ve dvou souborech:
Formát MyISAM je platformově neutrální, což znamená, že můžete bez jakýchkoliv potíží zkopírovat datové a indexové soubory ze serveru založeného na Intelu na PowerPC nebo na Sun SPARC. Funkce MyISAMProtože MyISAM je jeden z nejstarších úložných enginů, které byly zařazeny do MySQL, obsahuje velké množství funkcí, které byly vyvinuty během let jeho existence, aby uspokojily potřeby požadované jeho uživateli. Uzamykání a souběžnostMyISAM uzamyká celé tabulky, ne řádky. Čtenáři obdrží sdílené (čtecí) zámky na všechny tabulky, z nichž potřebují číst. Zapisovatelé obdrží výlučné (zapisovací) zámky. Ovšem i když nad tabulkou běží výběrové dotazy, dají se do tabulky vkládat nové řádky (tzv. souběžné vkládání, concurrent inserts). Je to významná a užitečná funkce. Automatická opravaMySQL podporuje automatickou kontrolu a opravu tabulek MyISAM. Ruční opravaPomocí příkazů CHECK TABLE a REPAIR je možno zkontrolovat, jestli v tabulce nejsou chyby, a poté provést opravu. Pokud je server offline, lze kontrolovat a opravovat tabulky nástrojem příkazového řádku myisamcheck. Indexové funkceV tabulkách MyISAM můžete vytvářet indexy na prvních 500 znacích sloupců BLOB a TEXT. MyISAM podporuje fulltextové indexy, v nichž se indexují jednotlivá slova pro potřeby složitých vyhledávacích operací. Pozdržené zápisy klíčůTabulky MyISAM, pro které byla při vytvoření volba DELAY_KEY_WRITE, nezapisují na konci dotazu změněná data na disk. MyISAM ukládá změny do bufferu klíčů (key buffer), který je umístěn v paměti. Bloky indexu jsou "spláchnuty" (flush) na disk tehdy, když je buffer "pročišťován" (prune; tj. jsou odstraňována stará data) nebo když je uzavírána tabulka. Tím se může rapidně zvýšit výkon u intenzivně používaných tabulek, které se často mění. Jestliže však zhavaruje systém nebo server, budou indexy s velkou pravděpodobností narušené, takže se budou muset opravit. Komprimované tabulky MyISAMTabulky, které se po naplnění daty už nikdy nemění a pouze se čtou, se dají zkomprimovat prostřednictvím utility myisampack. Ačkoliv zkomprimované tabulky se nedají modifikovat, zabírají mnohem méně místa na disku. Důsledkem je, že nabízejí lepší výkon, protože jejich menší velikost implikuje méně hledání na disku při vyhledávání záznamů. Zkomprimované tabulky MyISAM mohou mít indexy, jsou ovšem určeny pouze ke čtení. Dodatečné režijní náklady na dekomprimaci dat při jejich čtení jsou u většiny aplikací na moderním hardwaru nepodstatné, protože opravdové zisky plynou z redukce diskových operací I/O. Protože se řádky komprimují jednotlivě, MySQL nemusí dekomprimovat celou tabulku (dokonce ani stránku ne), když potřebuje načíst jediný řádek. Související článkyExterní odkazy |
Portal di Ensiklopedia Dunia