MySQL neden yavaslar

CorsaiR

Emektar
27 Ara 2005
1,228
18
Çekirdekten
MySQL neden yavaslar
SQL sorgulari tablolardan yapilir.

Tablolari, yapilandirilmis dosya gibi dusunebilirsiniz.

Tablo boyu ne kadar kucuk olursa SQL sorgulari o kadar hizli calisir.



+ MySQL o tabloyu acip okur icindeki veriyi bulur size verir.



Basit bir ornek:

Diyelimki MySQL sizsiniz...

1. Notepad ile 5K lik bir dosyayi actiniz. 'Adana Mersin' diye arattirdiniz. Arama sonucundaki tum 'Adana-Mersin' leri Notepad ile actiginiz yeni bir dosyaya koydunuz. Bu islem toplam 1 dakikanizi alsin.

2. Notepad ile 2Mb lik bir dosta actiniz. Sadece dosyanin acilmasi 120 saniye sursun. Arama sonucundaki tum 'Adana-Mersin' leri Notepad ile actiginiz yeni bir dosyaya koydunuz. Bu islem toplam 1 saatinizi alsin.



Sonuc: Tablo boyu buyudukce, harcanan CPU ve I/O artar, sorgu sureleri uzar.



Tablo boyunun buyuyecegini hesaplayan MySQL ve benzeri veritabani yaraticilari, INDEX denen objeleri yaratmislar. Indexi bir tablodaki bir verinin nerede oldugu bilgisini saklayan baska bir dosyadir. Hani kitaplarin basinda hangi konunun hangi sayfada, kitaplarin sonunda hangi kelimenin hangi sayfalarda gectigi yazilirya, iste index odur. Aradiginizi hizlica bulmanizi saglar.



Hizlica bulunca CPU ve I/O harcamasi azalir.



Sonuc: Tablolar uzerinde gereken indexler yok ise buyuyen tablolar fazla CPU ve I/O harcarlar.



Bir SQL sorgusunun performansi: tablo boyuna, tablo uzerindeki indexlere ve kac tablo uzerinde join yapildigina baglidir.



Ek olarak SQL den donen sonuclarin filtrelenmesi "WHERE" sonuclarin daha hizli donmesini saglar ve gereksiz sonuclarin networkte tasinmasini onler.
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.