Jak mohu zmenšit velikost databáze MySQL?
databázový software, jako je MySQL, často používá různé techniky k urychlení vyhledávání a doručování požadovaných informací. Ve většině případů mají tyto techniky podobu dočasných databází, které jsou vytvořeny tak, aby sloužily jako meziprodukty a pomohly vám rychleji načíst požadovaná data. Jedinou nevýhodou těchto dalších databází je, že spotřebují další místo na disku. V tomto článku vám ukážeme různé způsoby, jak můžete zmenšit velikost databáze MySQL.
Jak mohu snížit velikost databáze MySQL?
existují dva široké přístupy, které můžete použít ke zmenšení velikosti databáze MySQL. Můžete buď zkusit optimalizovat strukturu databáze, nebo můžete odstranit zbytečná data. Níže budeme podrobněji zkoumat obě techniky.
jak funguje optimalizace pro databázi MySQL?
jak jsme již zmínili, databáze MySQL často vytvářejí interní tabulky ve snaze urychlit vyhledávací dotazy. Tyto dodatečné tabulky se však postupem času stávají méně účinnými, když přidáváte nová data a měníte stávající položky. Proto je dobré čas od času optimalizovat databázi. Nejen, že snížíte celkovou velikost databáze,ale také pravděpodobně uvidíte zvýšení výkonu!
máte dvě možnosti, pokud jde o optimalizaci databáze na naší sdílené hostingové platformě. Můžete buď použít náš 1-click optimalizátor, který je součástí našeho správce databází, nebo můžete jít více hands – on pomocí nástrojů poskytovaných phpMyAdmin.
Jak mohu optimalizovat databázi MySQL pomocí správce databází?
můžete snadno a rychle optimalizovat všechny tabulky v dané databázi MySQL díky sekci správce databází našeho ovládacího panelu. Správce databází vám bude k dispozici, pokud používáte náš bezplatný hosting webových stránek, prémiový sdílený hosting nebo některý z našich částečně dedikovaných webových serverů. Chcete-li optimalizovat databázi, postupujte takto:
- přejděte do části správce databází našeho ovládacího panelu.
- klikněte na název databáze, který chcete optimalizovat.
- otevřete kartu Správa.
- klikněte na možnost s názvem optimalizace 1-click.
Jakmile provedete výše uvedené akce, budou všechny tabulky ve vaší databázi optimalizovány. Mějte na paměti, že naše statistiky využití databáze nejsou aktualizovány v reálném čase, takže si možná nevšimnete okamžitého rozdílu v používání databáze. Chcete-li se dozvědět více o různých funkcích, které náš správce databází nabízí, můžete projít naším úplným průvodcem správcem databází.
Jak mohu optimalizovat tabulky databáze MySQL pomocí phpMyAdmin?
na rozdíl od našeho správce databází, který optimalizuje všechny tabulky najednou, vám phpMyAdmin poskytuje mnohem podrobnější kontrolu, pokud jde o to, které tabulky by měly být optimalizovány a které tabulky by měly zůstat nezměněny. Níže budeme zkoumat dvě techniky pro zmenšení velikostí tabulek pomocí phpMyAdmin: možnost Optimalizovat a komprimovat data z tabulek, které používají InnoDB storage engine.
kromě optimalizace tabulky vám phpMyAdmin poskytuje řadu dalších možností, které byste mohli považovat za užitečné. Více o tomto praktickém nástroji se můžete dozvědět v našem přehledu phpMyAdmin.
Jak mohu zmenšit velikost tabulky pomocí funkce Optimalizace v phpMyAdmin?
postupujte podle následujících kroků, abyste optimalizovali tabulky v databázi MySQL pomocí optimalizační funkce v phpMyAdmin:
- otevřete sekci správce databází na ovládacím panelu.
- klikněte na název databáze, který chcete optimalizovat.
- otevřete kartu Správa.
- klikněte na možnost phpMyAdmin, jak je uvedeno níže:
- phpMyAdmin se nyní otevře na nové kartě a zobrazí se vám seznam tabulek, které obsahují databázi. Umístěte zaškrtnutí před tabulky, které chcete optimalizovat.
- Jakmile provedete výběr, vyberte z rozbalovací nabídky možnost Optimalizovat tabulku. Tato možnost je součástí sekce údržby tabulky:
- Jakmile vyberete příkaz optimalizovat tabulku, bude proveden automaticky a měli byste být prezentováni s dotazem SQL, který byl úspěšně proveden. zpráva:
jedna věc, kterou je třeba mít na paměti, je, že volba optimalizovat tabulku provádí různé akce v závislosti na úložišti, které vaše tabulky používají. Jako takový, účinky volby se mohou lišit od tabulky ke stolu. To platí zejména, pokud používáte různé úložné motory a pokud některé z vašich tabulek podléhají pravidelným úpravám, zatímco jiné tabulky zůstávají relativně nezměněny.
jak Komprimuji Data v databázi MySQL?
jak jsme již dříve poznamenali, různé úložné motory přicházejí s různými sadami funkcí. Jedním z vynikajících rysů InnoDB storage engine je jeho schopnost komprimovat data bez ztráty informací. Komprese je nejúčinnější, pokud vaše tabulky obsahují sloupce, které používají TEXT
, BLO
, VARCHAR
, a VARBINARY
datové typy.
Chcete-li spustit kompresi na dané tabulce, musíte se nejprve ujistit, že dotyčná tabulka používá InnoDB storage engine. Tyto informace najdete v zobrazení struktury databáze phpMyAdmin. Toto zobrazení je nejsnadněji přístupné kliknutím na název databáze, jak je znázorněno na obrázku níže:
jakmile jste v zobrazení struktury, měli byste vidět seznam všech tabulek, které jsou obsaženy v databázi. Sloupec, který zobrazuje aktuální modul úložiště, se nazývá typ a je zvýrazněn níže:
pokud vidíte InnoDB uveden jako storage engine na tabulkách, které chcete komprimovat, pak je dobré jít. Pokud však vidíte jakoukoli jinou hodnotu, budete muset převést tabulky, abyste nejprve použili InnoDB storage engine. Převod se provádí provedením krátkého příkazu SQL. Chcete-li začít, přepněte na kartu SQL v phpMyAdmin:
jakmile tam, vložte následující kód:
ALTER TABLE my_table ENGINE = InnoDB;
nezapomeňte nahradit my_table
názvem tabulky, kterou chcete převést. V našem příkladu převádíme tabulku s názvem orders
, takže náš příkaz bude vypadat takto:
ALTER TABLE orders ENGINE = InnoDB;
jakmile zadáte příkaz, spusťte jej kliknutím na tlačítko Go v pravém dolním rohu. Pokud bude úspěšný, měla by vám být předložena zpráva o úspěchu, jak je uvedeno níže:
pokud chcete převést více tabulek na InnoDB storage engine, budete muset spustit výše uvedený příkaz pro každou z nich.
Nyní, když vaše tabulky používají InnoDB, můžete pokračovat ve skutečné kompresi dat MySQL. Samotná komprese je krátký příkaz SQL, který je také třeba spustit z karty SQL v phpMyAdmin. Zde je příkaz:
ALTER TABLE my_table ROW_FORMAT=COMPRESSED;
stejně jako při převodu tabulky je třeba my_table
nahradit skutečným názvem tabulky. Jako příklad na obrázku níže komprimujeme tabulku s názvem orders
:
jakmile zadáte příkaz komprese, stiskněte tlačítko Go pro jeho provedení. Pokud chcete komprimovat více tabulek, můžete tak učinit spuštěním příkazu SQL pro každou tabulku.
jak odstraním tabulky pomocí phpMyAdmin?
další alternativou, pokud jde o uvolnění úložného prostoru, je odstranění dat, která již nepotřebujete z databáze. Můžete buď odstranit jednotlivé položky nebo celé tabulky.
Chcete-li odstranit tabulku, přejděte na kartu Struktura databáze, abyste viděli všechny své tabulky. Odtud vyberte možnost Drop vedle tabulky, kterou chcete odstranit, a potvrďte svůj výběr. Před potvrzením odstranění zkontrolujte, zda jste vybrali správnou tabulku, protože tuto akci nelze vrátit zpět.
pokud odstranění celé databázové tabulky není pro vás volbou, můžete zvážit odstranění jednotlivých položek z různých tabulek, které již nepotřebujete. Toho lze dosáhnout spuštěním různých příkazů SQL. Níže představíme velmi základní příkaz SQL, který dokáže odstranit jednu položku databáze.
v tomto příkladu použijeme výše uvedenou tabulku se dvěma řádky. Cílem je odstranit druhý řádek při zachování prvního.
všimnete si, že všechny tabulky mají obvykle sloupec id, který obsahuje jedinečné číslo, které identifikuje danou položku. V našem příkladu se sloupec id ve skutečnosti nazývá id
, ale vaše tabulky mohou jako název sloupce použít jiné slovo. Jakmile najdete sloupec, který ukládá jedinečné identifikátory pro každou položku, poznamenejte si hodnotu přidruženou k položce (řádku), kterou chcete odstranit. S těmito informacemi po ruce přepněte na kartu SQL a spusťte následující příkaz SQL:
DELETE FROM my_table where id_column = 'my_id';
ve výše uvedeném kódu budete muset provést tři náhrady:
-
my_table
měl by být nahrazen názvem tabulky, ze které odstraníte. -
id_column
by měl být nahrazen názvem sloupce, který ukládá vaše jedinečné identifikátory. -
my_id
by měl být nahrazen skutečným identifikátorem řádku, který chcete smazat.
náš příklad používá tabulku products
. Tato tabulka obsahuje sloupec id
a jedinečný identifikátor položky, kterou chceme smazat, je 2
. Takže náš příkaz SQL by měl vypadat takto:
když stiskneme tlačítko Go, provede se příkaz SQL a odstranění bude dokončeno. Nyní naše tabulka již neobsahuje druhou položku:
pokud používáte moderní systém pro správu obsahu, jako je WordPress, Drupal, Joomla nebo podobné, měli byste zvážit použití nástrojů pro správu backendu CMS pro správu a odstranění dat. Ruční odstranění položek z databáze by mělo být vaší poslední možností.
závěr
jako vlastník webových stránek je vždy dobré dávat pozor na využití databáze. To platí zejména, pokud používáte plán sdíleného hostingu a máte limit velikosti databáze. Pokud náhodou dosáhnete limitu úložiště, váš web může začít zobrazovat všechny druhy varování a chybových zpráv, například matoucí zprávu „vložit příkaz odepřen uživateli“.