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.
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.