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

Top 10 zajímavých faktů a tipů o MySQL

MySQL je nejrychleji rostoucí open-source systém pro správu relačních databází s dosud 100 miliony stažení. Jde o oblíbenou databázi pro použití ve webových aplikacích a v současnosti ji používá mnoho velkých webových stránek, včetně Facebooku, Twitteru, Wikipedie, Flickru, YouTube atd. Nyní se pojďme podívat na 10 nejzajímavějších faktů a tipů o MySQL.

Zajímavá fakta a tipy o MySQL

1. MySQL podporuje až 64 indexů na tabulku. Každý index se může skládat z 1 až 16 sloupců. Maximální velikost indexu je 1000 bajtů (767 pro InnoDB).

2. Maximální velikost řádku v tabulce MySQL je 65 535 bajtů. A maximální hodnota celého čísla se znaménkem je 2 147 483 647 a hodnota celého čísla bez znaménka je 4 294 967 295. Ve smíšené tabulce s CHAR i VARCHAR MySQL změní CHAR na VARCHAR.

3. Pokud se PRIMARY KEY nebo UNIQUE index skládá pouze z jednoho sloupce, který má typ celé číslo, můžete tento sloupec v příkazech SELECT také označit jako „_rowid“.

4. Chcete-li změnit hodnotu AUTO_INCREMENT, použijte “ALTER TABLE AUTO_INCREMENT =value;” nebo „SET INSERT_ID =value;“

5. Chcete-li omezit veřejný přístup k MySQL, použijte volbu „skip-networking“ v konfiguračním souboru. Když je povoleno, MySQL naslouchá pouze místním soketovým připojením a ignoruje všechny TCP porty. A parametr „bind-address“, který je nastaven na „127.0.0.1“, omezuje přístup k MySQL pouze místnímu hostiteli.

6. Pokud má MySQL vytvořeno mnoho připojení (tj. web bez trvalých připojení), můžete zlepšit výkon nastavením thread_cache_size na nenulovou hodnotu. 16 je pro začátek dobrá hodnota. Zvyšte hodnotu, dokud vaše threads_created neporoste příliš rychle.

7. NO_AUTO_VALUE_ON_ZERO potlačí automatické zvýšení na 0. Pouze NULL generuje další pořadové číslo. Tento režim může být užitečný, pokud byla ve sloupci AUTO_INCREMENT tabulky uložena 0. (Mimochodem, ukládání 0 se nedoporučuje.)

8. Možnosti konfigurace „innodb_analyze_is_persistent“, „innodb_stats_persistent_sample_pages“ a „innodb_stats_transient_sample_pages“ poskytují lepší přesnost statistik indexu InnoDB a konzistenci napříč restarty MySQL. InnoDB předpočítává statistiky, které pomáhají optimalizátoru rozhodnout, které indexy použít v dotazu, vzorkováním části indexu. Můžete upravit množství vzorkování, které InnoDB provádí pro každý index. Výsledné statistiky nyní mohou přetrvávat po restartování serveru, místo aby byly přepočítávány (a případně měněny) kvůli restartům a některým událostem za běhu. Přesnější statistiky mohou zlepšit výkon dotazů a aspekt persistence může udržet výkon dotazů stabilní. Když je povolena funkce trvalých statistik, statistiky se přepočítávají pouze tehdy, když pro tabulku explicitně spustíte ANALYZE TABLE.

9. InnoDB uvolní paměť spojenou s otevřenou tabulkou, aby se ulehčilo zatížení paměti na systémech s velkým počtem tabulek. Algoritmus LRU vybere tabulky, které byly nejdéle bez přístupu. Chcete-li rezervovat více paměti pro otevřené tabulky, zvyšte hodnotu konfigurační možnosti –table_definition_cache=#.

10. Nastavte parametr table_cache tak, aby odpovídal počtu otevřených tabulek a souběžných připojení. Sledujte hodnotu open_tables a pokud rychle roste, musíte zvětšit velikost „table_cache“. A pro parametr „open_file_limit“ nastavte tento limit na 20+max_connections+table_cache*2. Pokud máte složité dotazy „sort_buffer_size“ a „tmp_table_size“, budou pravděpodobně velmi důležité. Hodnoty budou záviset na složitosti dotazu a dostupných zdrojích, ale doporučenými výchozími body jsou 4 Mb a 32 Mb.

Poznámka:Toto jsou hodnoty „na připojení“. Při nastavování těchto parametrů tedy zvažte své zatížení a dostupné zdroje. Například sort_buffer_size je alokována pouze v případě, že MySQL potřebuje provést třídění, dejte pozor, aby vám nedošla paměť.


  1. Vytvoření datového modelu pro systém správy parkovacích míst

  2. Jak získat aktuální datum v PostgreSQL

  3. PostgreSQL - deaktivace omezení

  4. Jak získat aktuální datum v Oracle