Şimdi tablo iyi sonuç verir şekilde optimize oluşturma hakkında konuşmayın. Ben sadece dizili alanları büyük ölçüde yürütme zamanını iyileştirmek hatırlıyorum. Biz tedbirleri küçük bazı konuşmak yerine parametre ayarlama yapmak çok daha hızlı olmadan genellikle MySQL olduğunu dağıtımları yüklü en çok. Bilgi dağıtım ve Linux, ama bakın kolayca diğer OS adapte edilebilir.
Yapılandırma dosyası my.ini / etc genellikle bulunanlarda, /.
Eempio my.ini sayısı:
[] Mysqld
datadir = / var / lib / mysql
soket = / var / lib / mysql / mysql.sock
set-variable = anahtar buffer = 64M
set-variable = max_user_connections = 100
set-variable = query_cache_size = 64M
# Standart 3.x mysql için uyumlu formatı şifre eski kullanarak
# Müşteriler (mysqlclient10 Bu paketi kullanarak uyumluluğu).
old_passwords = 1
[Mysql.server]
user = mysql
basedir = / var / lib
[Mysqld_safe]
err-log = / var / log / mysqld.log
pid-file = / var / / / mysqld.pid mysqld koşmak
tamponlar: veritabanı biri herhangi bir tampon artarak çok daha hızlı olacaktır. Sonra, dikkate tüketim işletim sistemi ve diğer uygulamalar ve kullanım hizmetleri tarafından yapılan alarak tampon bellek miktarı mevcut dayalı ayarlayın. Eğer mevcut değil ama çok fazla bellek tahsis ederseniz, sistemin genel performansını kötüleşmesi halinde çalıştırabilirsiniz.
Wait_timeout: dönemdir o geçtikten Mysql önce bir hareketsizlik bağlantısı nedeniyle otomatik olarak kapandı. Az sayıda daha iyi performans anlamına gelir. Bu durumda da bağlantı türü ve daha iyi parametre kalibre için tahmini faydalı ömrü oynamalıdır.
back_log: Konuları bağlantıları olabilir dayanacak MySQL yeni oluştururken aynı anda birçok kontrolleri nasıl. Sayısı düşük, hızı daha fazla. Dikkat doğru, sadece kesinlikle gerekli kullanabilirsiniz parametresini ayarlayarak performansını düşürür kolay değildir.
Max_user_connections: kullanıcı sayısının aynı anda maksimum setleri bir bağlantı sağladı. Çok MySQL birden fazla kullanıcının aynı anda aynı sunucuya erişim sistemleri yararlıdır.
ile INSERT GECİKMİŞ eklenen Delayed_queue_size satır: sayısı. Az satırları daha hızlı Mysql eklenecektir.
Sort_buffer_size: Set ve GROUP BY hükümler ORDER BY tampon boyutu için uygulama. bir değere fazla 2M bu parametre set gereken en verimli sorgu yapmak.
Table_cache: değişken artan bu, tüm konuları açık masalar kontrollerin sayısı, tablo aynı anda yükleme ve MySQL performans artışı daha hızlı daha. Eğer limit anomali sistem tabi olabilir aşarsanız Watch Bu parametreyi, işletim sistemleri aynı anda açılabilir dosyalarına işaretçiler bir sınırı vardır.
Thread_cache_size: önbelleğindeki korumak parçacığı sayısını ayarlar. Bu özellik çok hızlı iplik kullanır.
SHOW STATUS komutu zaman yardımcı olan gerçek izlemek bize bu değişkenlerin çoğu diğer yardımcı bizi yapmak anlayabiliyorum en önemli geliştirmeler ne şunlardır:
- Handler_read_first: kaç kez ilk kayıt tablo içinde dizininden olduğunu okudum. Bu sık sık olursa, bu tablo doğru dizine anlamına gelir.
- Innodb_buffer_pool_wait_free: zamanlarında sayısı MySQL sayfaları bellek basması için gereken bekleyin. dönüş değeri yüksek ise o zaman tampon havuzu boyutu düzgün yazmak miktarı operasyon sunucu tarafından tabi yapılandırılmış değildi.
- Key_reads: zamanlarında sayıda dosya sistemi dizin veritabanına erişim MySQL. Bu yüzden eğer bu değeri yüksek o zaman anahtar arabelleği çok küçük ve artırılmalıdır demektir sorgu yürütme hızını yavaşlatır.
- Max_used_connections: boot maksimum sayıda gösterir bağlantıları olduğu son sırasında MySQL vardı aynı anda olmak açın. İlk gerçek bir benchmark (temsil sunucu destekleyebilir bağlantı sayısı üst sınırını belirlemek) ve diğer pratik bir trafik analisti olarak sunulmaktadır yardımcı olur.
- Open_tables: gösterir açık masa sayısını mevcut. Bu değer birlikte masanın önbellek boyutu ile analiz edilmelidir. Normalde table_cache boyutu değişken bu daha büyük koymak olmalıdır. cache Eğer değeri daha düşüktür çok open_tables önlemek için table_cache, performans sorunları boyutunu küçültmek nedenle olmalıdır. table_cache değerinin ise artış open_tables çok yüksek ve yakın sonra önbellek gerektiğini boyutu.
- Select_full_join: join MySQL tam sayısının talepleri müşteri karşılamak zorundadır yapıldı. Yüksek bir değer katılmak gösterir kullanarak yerine endeksleri, tam gerçekleştirmek için zorlandı MySQL vardır. Bu bu tabloların güçlü bir dizin için ihtiyaç göstermektedir.
- Slow_queries: işlemini her zamankinden daha uzun sayı çıkardı sorgular. Yüksek değeri optimize sorgu gerektiğini yavaş identify ne vardır Girişi Sorgu kurşun Yavaş bize doğru düşünün.
- Threads_connected: Böyle bir anda sunucuya bağlı olan istemcilerin toplam sayısı.
- Created_tmp_disk_tables: bellek yerine disk oluşturulan sayısı geçici tablolar. hafıza Verilen diskte tablolara erişen operasyonu daha yavaştır genellikle, değişkenin içeriğini TABLO olduğunu GEÇİCİ CREATE çalıştıran orantılı ters vardır sorguları hızı ile hangi.
- Uptime: gösterir kaç saniye servisi etkindir.



































