Nie je čas si pohovoriť o tom, ako vytvoriť tabuľky optimalizovaný pre lepšie výsledky. Pamätám si len, že pole indexovaný zlepšovať oveľa čas realizácie. Diskusia namiesto niektorých malý trik, aby sa viac výkonný, že MySQL je obvykle inštalovaný na väčšine distro bez mnohých parametrov pre ladenie. Info pozri linuxové distro, ale môžu byť ľahko prispôsobiť iným OS.
Konfiguračný súbor je zvyčajne umiestnený v súbore / etc / my.ini.
Eempio z my.ini:
[mysqld]
datadir = / var / lib / mysql
socket = / var / lib / mysql / mysql.sock
set-premenná = key_buffer = 64M
set-premenná = max_user_connections = 100
set-premenná = query_cache_size = 64M
# Implicitná na použitie staré heslo formát pre kompatibilitu s MySQL 3.x
# Klienti (ty pomocou mysqlclient10 kompatibilita balík).
old_passwords = 1
[mysql.server]
user = mysql
basedir = / var / lib
[mysqld_safe]
err-log = / var / log / mysqld.log
pid-file = / var / run / mysqld / mysqld.pid
pufre: bufferi akéhokoľvek incremeto dostanete databázy oveľa rýchlejšie. Nastavte pufre založené na veľkosť pamäte je k dispozícii, s prihliadnutím na spotrebu, ktorú operačný systém a ďalšie aplikácie a služby v použitie. Ak si rozdeliť príliš veľa pamäte a zároveň nemajú môže vběhnout do celkového výkonu systému.
Wait_timeout: predstavuje čas, ktorý uplynie, kým bude uzavretá automaticky pripojiť k MySQL v dôsledku nečinnosti. Nižší počet je vyšší výkon. V tomto prípade musíte tiež hrať druh spojenia a ich údajnej čas pre kalibráciu najvýhodnejšie parameter.
back_log: Ovláda koľko simultánne pripojenie môže udržať MySql a zároveň vytvára nové vlákno. Čím nižšie číslo, tým vyššia rýchlosť. Pozor, je to ľahké nebude zhoršovať funkciu by tento parameter nastaviť správne, použite iba v prípade, že je absolútne nevyhnutné.
Max_user_connections: Nastaví maximálny počet povolených spojení s užívateľmi. To je veľmi užitočné v systémoch, kde sa rovnakým MySQL server má prístup viac užívateľov naraz.
Delayed_queue_size: počet riadkov spolu s INSERT oneskorí. Bude menej pozdĺž línie, tým rýchlejšie MySQL.
Sort_buffer_size: nastaví veľkosť bufferu pridelené na implementáciu ustanovení, ORDER BY a GROUP BY. Chcete-li otázky, efektívnejšie je tento parameter nastavený na hodnotu vyššiu ako 2m.
Table_cache: určuje počet otvorených tabuliek pre všetky vlákna, zvýšenie tejto premennej zvýši tabuliek naložené súčasne a vykonanie MySql bude oveľa rýchlejšie. Pozor na tento parameter, operačné systémy majú limit odkazy na súbory otvorené naraz, keď prekročí tento limit môže vzniknúť v akomkoľvek systéme závadu.
Thread_cache_size: Nastaví počet závitov uchovávať v cache. Táto vlastnosť umožňuje použitie vlákien veľmi rýchlo.
Zobraziť ŠTATÚTU príkaz nám pomáha sledovať v reálnom čase tie premenné, ktoré viac ako iné, ktoré nám pomôžu pochopiť, čo sú najvýznamnejšie vylepšenia môžeme urobiť:
- Handler_read_first: Udáva, koľkokrát sa prvý záznam bol čítať z tabuľky. Ak sa toto deje často, to znamená, že v tabuľke nebol indexovanými správne.
- Innodb_buffer_pool_wait_free: udáva, koľkokrát že MySQL má počkať na splachovanie stránok pamäte. Ak je návratová hodnota je vysoká, potom veľkosť bufferu bazén nebol správne nakonfigurovaný pre výške zápisnice, ktorým prešlo server.
- Key_reads: udáva, koľkokrát že MySQL prístupov k systému súborov pre databázové indexy. To spomaľuje rýchlosť vykonanie dotazu, takže ak je táto hodnota vysoká potom to znamená, že kľúčové pufra je príliš malé a je potrebné zvýšiť.
- Max_used_connections: Označuje maximálny počet pripojení, ktorá MySQL musela otvoriť počas posledného štarte. Na jednej strane to predstavuje skutočný benchmark (pomáha rozhodnúť, maximálny počet pripojení k serveru, ktorý môže podporovať) a druhý je prezentovaný ako pohodlný prevádzka analyzátora.
- Open_tables: Označuje aktuálny počet otvorených tabuliek. Táto hodnota by mala byť analyzovaná v kombinácii s cache veľkosti stola. Zvyčajne sa veľkosť table_cache je potrebné nastaviť vyššie u tejto premennej. Ak je hodnota open_tables je oveľa nižšia ako table_cache sa vyhnúť problémom s výkonom, preto je tiež znížiť veľkosť cache. Ak je hodnota open_tables je veľmi vysoká a blíži veľkosti cache, potom ju zvýšiť table_cache.
- Select_full_join: Počet plnú pripojiť MySQL vykonal, aby zodpovedali požiadavkám klientov. A vysoká hodnota naznačuje, že miesto pomocou indexov, MySQL bola nútená vykonať úplnú pripojiť. To naznačuje, že je potrebné pre silnú index týchto tabuliek.
- Slow_queries: udáva počet dotazov, ktoré trvalo dlhšie ako zvyčajne, je potrebné urobiť. Vysoká hodnota by mala viesť nás k analýze Pomalé Prihlásiť dotazu zistiť, aké sú pomalé dotazu na optimalizáciu.
- Threads_connected: Označuje celkový počet klientov, ktorí sú pripojení k serveru v takejto chvíli.
- Created_tmp_disk_tables: udáva počet dočasných tabuliek, ktoré boli vytvorené na disku miesto pamäti. Vzhľadom k tomu, že prístup do tabuliek na disk je pomalší než obvykle pamäti, že obsah premennej je úmerná rýchlosti, s otázkami, ktoré sú spustené na príkaz CREATE dočasnú tabuľku.
- Uptime: Zobrazuje, koľko sekúnd sa na servis.



































