Na základe prechádzajúcich skúseností z konzultácií MySQL resp. MariaDB, by sme sa radi s vami chceli podeliť o najčastejšie chyby, s ktorými sa stretávame:
Noví používatelia často robia syntaktické chyby v SQL príkazoch. Môže to byť zabudnutie na čiarky, zátvorky alebo iné dôležité znaky. Najhorší možný prípad je v aktualizáciach (UPDATE) dát alebo v mazaní (DELETE) dát, čo môže na databáze spôsobiť nenávratné škody.
Častou chybou je nedostatočné zabezpečenie databázy. Používatelia by mali dbať na to, aby nepoužívali neochránené SQL dopyty a mali by sa zaoberať otázkami ako SQL Injection. Pomocou SQL Injection je možné jednoducho zlikvidovať celú vašu databázu. Preto je dôležité sa proti tomu chrániť.
Neskúsení používatelia môžu zvoliť nesprávne dátové typy pre svoje stĺpce, čo môže viesť k zbytočnej spotrebe pamäte alebo straty dôležitých informácií. Preto treba skvalitniť návrh databázy tak, aby jej veľkosť bola prijateľná z dlhodobého hľadiska. Nejde však len o veľkosť, ale aj o rýchlosť zápisu a čítania údajov. Čím menšia databáza, tým rýchlejší zápis a čítanie.
Indexy sú kľúčové pre efektívne vyhľadávanie v databáze. Ich nepoužívanie môže spôsobiť veľký nárast času vykonávania dopytov. Opačným problémom býva, ak indexov je príliš veľa. To môže spôsobiť ešte väčšie kompliácie.
Používatelia môžu nastaviť nesprávne oprávnenia pre používateľov a role v MySQL, čo môže viesť k bezpečnostným problémom alebo obmedzeniam prístupu. Hacknutie jedného používateľa by pri zlom nastavení databázových oprávnení mohlo úplne kompromitovať celú databázu čo určite nechceme. Správnym nastavaním používateľov je možné predísť tomuto problému.
Používanie transakcií je dôležité pre zachovanie konzistencie databázy. Zabudnutie použiť transakcie môže viesť k problémom v prípade chýb alebo pádov. Opäť podotýkame, že pri zlom nastavení transakcií je možné spôsobiť deadlocky, čím spoľahlivo odpíšete celú databázu.
Nepoužívanie pravidelného zálohovania môže spôsobiť stratu dát v prípade havárie alebo chyby. Toto je úplne kritické preto, aby sme sa v prípade výskytu chyby, ktorá je popísaná vyššie, vedeli k databáze vrátiť.
Ak vám tento krátky rozbor pomohol a možno vás inšpiroval, budeme radi :)