Jak bezpečně spravovat a optimalizovat databázi PrestaShopu
Databáze PrestaShopu obsahuje objednávky, zákazníky, katalog, konfiguraci, indexy i data modulů. Samotná velikost neříká, zda je databáze v pořádku. Rozhodující je, které tabulky rostou, proč rostou a zda to ovlivňuje odezvu, zálohy nebo údržbu.
Nespouštějte obecný seznam příkazů
TRUNCATEz internetu. Prefixy, vazby a význam tabulek se liší podle verze a modulů. Smazání indexu bez následné obnovy může vyřadit vyhledávání; smazání provozních dat může být nevratné.
1. Změřte skutečný stav
- v phpMyAdminu nebo z monitoringu zjistěte největší tabulky a jejich růst v čase,
- ověřte, zda jde o objednávková data, logy, statistiky, cache, vyhledávací index nebo tabulku konkrétního modulu,
- porovnejte růst s návštěvností, importy, crony a chybami v logu.
2. Připravte obnovitelnou zálohu
Před mazáním nebo optimalizací vytvořte databázový dump a ověřte, že jej lze obnovit. Provozní zálohy Zserveru popisuje návod Zálohování a obnova dat; před rizikovou změnou je přesto vhodný samostatný bod obnovy pro konkrétní zásah.
3. Použijte nástroj odpovídající příčině
- cache mažte přes administraci PrestaShopu, ne přímým zásahem do neznámých tabulek,
- statistiky a logy čistěte jen nástrojem kompatibilním s konkrétní verzí a s jasně nastavenou dobou uchování,
- fasetovou navigaci a vyhledávání znovu indexujte podporovaným mechanismem příslušného modulu nebo verze,
- tabulky cizích modulů čistěte podle dokumentace jejich autora.
PrestaShop 9 nabízí pro vyhledávací index konzolový příkaz prestashop:search:index; parametry a omezení popisuje oficiální dokumentace. U jiné verze použijte nástroj určený právě pro ni.
4. Ověřte výsledek
- otestujte vyhledávání, filtry, katalog, košík, objednávku a administraci,
- zkontrolujte cron a logy po dalším běžném provozu,
- sledujte, zda se tabulka nezačne ihned plnit znovu; v takovém případě je potřeba odstranit příčinu, ne opakovat mazání.
Pokud databáze roste bez jasného důvodu, pošlete přes kontakt verzi PrestaShopu, velikosti největších tabulek a popis dopadu. Navrhneme cílený postup.
