Negalima kalbėti dabar apie tai, kaip sukurti lenteles optimizuotas duoti geresnių rezultatų. Aš tik prisiminti, kad indeksuotas srityse smarkiai pagerinti vykdymo laiką. Kalbėsime vietoj kai kurių mažų priemones, siekiant pagerinti veiksmingumą, kad MySQL paprastai yra įdiegtas daugelyje platinamos be daug tiuningo parametrus. Info kreiptis į "Linux" platinamos, bet aš galiu būti lengvai pritaikyti prie kitų OS.
Konfigūracijos failas yra paprastai / etc / my.ini.
Eempio iš my.ini:
[Name]
datadir = / var / lib / mysql
lizdas = / var / lib / mysql / mysql.sock
nustatyti kintamųjų = raktas buferio = 64M
nustatyti kintamųjų = max_user_connections = 100
nustatyti kintamųjų = query_cache_size = 64M
# Default, naudojant seną slaptažodį formato suderinamumo su MySQL 3.x
# Klientai (mysqlclient10 Šios naudojant suderinamumo paketas).
old_passwords = 1
[Mysql.server]
user = mysql
basedir = / var / lib
[Mysqld_safe]
ERR-log = / var / log / mysqld.log
pid-file = / var / run / name / mysqld.pid
buferiai: didinant duomenų buferis vieno gaus žymiai greičiau. Tada nustatykite buferiai remiasi atminties suma, atsižvelgiant į vartojimo kurį operacinė sistema ir kita taikomųjų programų ir paslaugų naudojimą. Jei paskirstyti per daug atminties, nors jos nėra, galite paleisti į blogėjančią bendrą sistemą efektyvesnę.
Wait_timeout: tai laikas, kuris praeina iki ryšys automatiškai nutraukiamas dėl neveiklumo MySQL. Mažesnis skaičius reiškia didesnį našumą. Šiuo atveju jūs taip pat turi suvaidinti ryšių rūšį ir jų įvertintą naudingo tarnavimo laiką geriau kalibruoti parametras.
back_log: kontrolės, kiek vienu metu jungtis gali atlaikyti MySQL kuriant naujas temas. Kuo mažesnis skaičius, tuo didesnis greitis. Dėmesio, tai nėra lengva skaidytis veiklos nustatant šį parametrą tinkamai, naudokite tik tuomet, kai tikrai būtina.
Max_user_connections: nustato maksimalų skaičių vienu metu jungtis leidžia naudotojui. Tai labai naudinga, su sistemomis, kur MySQL turėti prieigą prie tame pačiame serveryje vienu metu keliems vartotojams.
Delayed_queue_size: eilučių skaičių pridedama su INSERT atidėtas. Mažiau eilutės bus pridėtas, tuo greičiau MySQL.
Sort_buffer_size: Nustatyti buferio dydis įdiegiant ORDER BY sąlygų ir grupės. Norėdami, kad efektyviausias užklausą turėtų nustatyti šį parametrą, kurių vertė didesnė nei 2m.
Table_cache: kontrolės lentelių skaičius atviri visiems temas, didinant šį kintamąjį lenteles įkelti tuo pačiu metu ir padidinti MySQL atlikti daug greičiau. Dėmesio, šio parametro, operacinės sistemos turi rodykles į failus riba gali būti atidarytas vienu metu, jei viršija šią ribą gali patirti sistemos anomalijos.
Thread_cache_size: nustato temas skaičių išlaikyti talpyklą. Ši funkcija leidžia naudoti temas labai greitai.
SHOW STATUS komanda padeda mums kontroliuoti realiuoju laiku tiems kintamiesiems, kad dauguma kitų mums padėti suprasti, kas yra svarbiausia priedai mes galime padaryti:
- Handler_read_first: kiek kartų pirmasis įrašas buvo skaitoma iš lentelės indeksas. Jei taip atsitinka dažnai, tai reiškia, kad lentelė buvo indeksuojami teisingai.
- Innodb_buffer_pool_wait_free: kartų MySQL turi laukti puslapių paraudimas atminties. Jei grąžina vertė yra didelė, tuomet buferio baseinas dydis nebuvo tinkamai sukonfigūruotas, kad parašyti sumą operacijoms apdoroti serveriu.
- Key_reads: kiek kartų iš failų sistemą naudotis MySQL duomenų bazės indeksai. Tai lėtina užklausą vykdymo greitis, tad jei ši vertė yra didelė, tai reiškia, kad pagrindiniai Atmintis per mažas ir turėtų būti padidinta.
- Max_used_connections: rodo didžiausią skaičių ryšius, MySQL turėjo būti atidaryti vienu metu per pastaruosius boot. Pirmoji yra tikra vertė (padeda nustatyti maksimalų skaičių jungčių serveris gali palaikyti), o kitas pateikiamas kaip praktinės analizės srauto.
- Open_tables: Rodo dabartinę skaičius atidaryti lenteles. Ši vertė turi būti analizuojamos kartu su talpyklos dydžio lentelės. Paprastai table_cache dydis turi būti nustatytas didesnis kaip šio kintamojo. Jeigu vertė yra daug mažesnė nei open_tables table_cache išvengti problemų dėl veiksmingumo, turėtų sumažinti talpyklos dydis. Jei open_tables vertė yra labai didelė ir šalia talpyklos dydis turėtų padidinti table_cache.
- Select_full_join: MySQL skaičių visą prisijungti atliko patenkinti klientų prašymus. Didelės vertės rodo, kad, o ne naudojant indeksus, MySQL buvo priverstas dirbti visą prisijungti. Tai rodo, kad stiprus indeksas Šiose lentelėse reikia.
- Slow_queries: paleisti užklausų kad užtruko ilgiau nei įprastai. Didelės vertės turėtų mums padėti analizuoti Žemas Užklausa Prisijungti nustatyti, kas lėtai užklausų optimizuoti.
- Threads_connected: bendras klientų skaičius, kurie yra prijungti prie to momento, serverio tokiu.
- Created_tmp_disk_tables: atmintis skaičius laikinas lenteles, kurios buvo sukurtos disko vietoje. Atsižvelgiant į tai, kad prieiga lentelių disko operacija paprastai lėtesnis nei atminties, kintamųjų kiekis yra atvirkščiai proporcingas greitį, kuriuo užklausas dirbate sukurti laikino lentelėje.
- Uptime: Rodo, kiek sekundžių paslauga yra aktyvus.



































