Älä puhu nyt siitä, miten luoda taulukoita optimoitu antaa parempia tuloksia. Muistan vain, että indeksoidut kentät parantaa huomattavasti suoritusajan. Puhumme sen sijaan joitakin pieniä toimenpiteitä, joilla parannetaan suorituskykyä MySQL on yleensä asennettu kaikkein häiritä eikä paljon tuning parametreja. Info viittaavat Linux häiritä mutta voidaan helposti mukauttaa muille OS.
Asetustiedosto on yleensä löytyy / etc / my.ini.
Eempio on my.ini:
[Mysqld]
datadir = / var / lib / mysql
socket = / var / lib / mysql / mysql.sock
asento-muuttuja = avain puskuri = 64M
asento-muuttuja = max_user_connections = 100
asento-muuttuja = query_cache_size = 64M
Oletus # käyttämään vanhoja salasana muodossa Yhteensopivuus MySQL 3.x
# Asiakkaat (mysqlclient10 Väittelyviittaan yhteensopivuus paketti).
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
puskureita: lisäämällä puskuri minkä tahansa tietokannan saa paljon nopeammin. Sitten asettaa puskurit perustuu muistin määrällä ottaen huomioon kulutuksen tekemät käyttöjärjestelmän ja muiden sovellusten ja palvelujen käytössä. Jos haluatte käyttää liikaa muistia, vaikka ei ole saatavilla voit törmätä yleinen heikentyminen järjestelmän suorituskykyä.
Wait_timeout: on aika, joka kuluu ennen kuin yhteys suljetaan automaattisesti puutteessa Mysql. Pienempi määrä tarkoittaa parempaa suorituskykyä. Tässä tapauksessa sinun täytyy myös olla sellaista liitäntää ja sen arvioitu käyttöikä paremmaksi kalibroida parametri.
back_log: Määrittää, kuinka monta samanaikaista yhteyttä voi kestää MySQL luotaessa uusia ketjuja. Pienempi määrä, sitä suurempi nopeus. Huomio ei ole helppo heikentää suorituskykyä asettamalla tämän parametrin oikein, käyttää vain välttämättömissä tilanteissa.
Max_user_connections: vahvistetaan enimmäismäärä samanaikaisten yhteyksien saa käyttäjä. Se on erittäin hyödyllinen järjestelmissä, joissa MySQL saada samalle palvelimelle useita käyttäjiä samanaikaisesti.
Delayed_queue_size: rivien kanssa INSERT DELAYED jonossa. Vähemmän rivit liitetään, sitä nopeammin Mysql.
Sort_buffer_size: Aseta puskurin koko täytäntöönpanon ORDER BY lausekkeet ja GROUP BY. Jotta tehokkain kyselyn pitäisi asettaa tämän parametrin arvo on suurempi kuin 2M.
Table_cache: valvonnan määrä pöytien kaikki viestiketjut, lisätä tämä muuttuja kasvaa, kun taulukot ladataan ja MySQL on paljon nopeampi. Huomio tämän parametrin, käyttöjärjestelmät ovat raja viitteitä tiedostot voidaan avata samanaikaisesti, jos ylittää tämän rajan et voi aiheutua järjestelmän anomalia.
Thread_cache_size: asetetaan säikeiden määrä säilyttää välimuistissa. Tämä ominaisuus tekee käytöstä kierteet hyvin nopeasti.
Näytä tila-komento auttaa meitä seuraamaan reaaliaikaisesti niitä muuttujia, että useimmat muut auttavat meitä ymmärtämään, mitä on eniten merkittäviä parannuksia voimme tehdä:
- Handler_read_first: kuinka monta kertaa ensimmäinen levy oli lukea indeksin taulukkoon. Jos näin tapahtuu usein, se tarkoittaa, että taulukko ei ole indeksoitu kunnolla.
- Innodb_buffer_pool_wait_free: kuinka monta kertaa MySQL on odotettava huuhtelu muisti sivua. Jos paluuarvo on suuri, puskurin altaan koko ei ole määritetty oikein paljon kirjoitustoimintoja suoritettua palvelimella.
- Key_reads: kuinka monta kertaa tiedosto järjestelmä käyttää MySQL-tietokannan indeksit. Tämä hidastaa nopeutta kyselyn suorittamisen, joten jos tämä arvo on suuri, se tarkoittaa, että avain puskuri on liian pieni ja olisi lisättävä.
- Max_used_connections: osoittaa enimmäismäärä yhteyksiä että MySQL oli auki samanaikaisesti viime etu. Ensimmäinen edustaa todellista vertailuarvo (auttaa määrittämään enimmäismäärä yhteyksiä palvelin voi tukea) ja muut esitetään käytännön liikenteessä analysaattori.
- Open_tables: Näyttää nykyisen pöytiä auki. Tämä arvo olisi analysoitava yhdessä välimuistia taulukossa. Normaalisti koon table_cache on asetettava enemmän kuin tämä muuttuja. Jos arvo open_tables on paljon pienempi table_cache välttää suorituskykyyn liittyviä ongelmia, olisi myös vähennettävä välimuistin kokoa. Jos arvo open_tables on erittäin korkea ja lähellä välimuistin kokoa pitäisi lisätä table_cache.
- Select_full_join: määrä koko liittyä MySQL on täyttämiseksi asiakkaan pyyntöihin. Korkea arvo kertoo, että sen sijaan käyttää indeksejä, MySQL on ollut pakko tehdä koko liittyä. Tämä viittaa siihen, että tarvitaan vahva indeksi näistä taulukoista.
- Slow_queries: useita kyselyitä että kesti tavallista pitempään toteuttaa. Arvokkaiden pitäisi johtaa meitä analysoimaan Hidas Query Kirjaudu tunnistaa mikä hidas kyselyt optimoida.
- Threads_connected: kokonaismäärä asiakkaita, jotka ovat yhteydessä palvelimeen tällainen hetki.
- Created_tmp_disk_tables: määrä väliaikaisia taulukoita, jotka on luotu levyn sijasta muistissa. Koska pääsy taulukot levylle toiminta on yleensä hitaampaa kuin muistin, sisältö muuttuja on kääntäen verrannollinen nopeuteen, jolla kyselyt ovat käynnissä luoda tilapäistä TABLE.
- Päällä: Osoittaa kuinka monta sekuntia palvelu on käytössä.



































