|
|
|
Yazan
|
Konu: Join la ilgili Lütfen fikirlerinizi bekliyorum (Okunma Sayısı 169 defa)
|
mukremin
Mükremin
PHP Öğrencisi
Offline
Mesaj Sayısı: 106
|
Selam Benim kafama takilan bir konu var.
Simdi söyle bir sorgu ile istedigimi db den aliyorum
$sor = mysql_query("SELECT isimler.isim,soy_isim, eMail_ler.eMail FROM isimler,eMail_ler WHERE isimler.user_id=eMail_ler.user_id");
ama join kullandigim zamanda istedigimi aliyorum mesela $sor2= mysql_query("SELECT isim,soy_isim,eMail FROM isimler RIGHT JOIN eMail_ler ON isimler.user_id=eMail_ler.user_id");
bu sorgularin ikiside benim istemis oldugum sonuclari getiriyor fakat isin icine performans olayi girdimmi tereddüt ediyorum arkadaslar tecrübeli arkadaslar bu sorgularin hangisi daha hizli yada daha hizli sorgu naslil yapabilirim...
Iyi calismalar.
|
|
|
|
|
Logged
|
Bana hakkı soran oğul haber al aşık sazından. Göğsü peygamber ağacı kılıfı ALİ bezinden.
|
|
|
|
vertu
|
tam olarak yanıt veremesemde daha az sorgu daha fazla hız diyeceğim için her iki yöntemde de sorgu sayılarını al sorgu zamanlarına bak. hangi yöntem daha çok sorgu yapıyor araştır en azı hangisiyse onu kullan. az kod meselesi gibi bişey.
|
|
|
|
|
Logged
|
|
|
|
xdat
Yeni Kullanıcılar
Offline
Mesaj Sayısı: 14
|
senin yaptığının ismi cross join dir ve o olay şu şekilde gerçekleşir. 1. tablo da 100 kayıt varsa ve 2. tabloda 500 kayıt varsa öncelikle bu iki tablo çapraz olarak birleştirilir. yani 1. tablodaki her kayıda 2. tablodaki birer kayıt düşecek şekilde genişletilir. yani ortaya 100*500=50000 adet kayıt çıkar. ve koşulda belirttiğin durumdaki kayıtlar seçilerek sana döndürülür.
join olayında ise left de ilk tablo right da ise ikici tablo referans alınır. ve referasn tablodaki tüm alanlara karşılık join şartında belirttiğin kayıtlar muattap alınır. bunu tam olarak görmek istersen
DESC SENİN SQL ;
yaparsan mysql bu işi nasıl yaptığını hatta yaparken hangi indexleri kullandığını ve muattap olduğun kayıt sayısını gösterecektir.
yani birinci yöntem makina düşmanı bi yöntemdir.
|
|
|
|
|
Logged
|
|
|
|
|
bndrs
|
Selam, JOIN veya diğer yöntemleri çokça kullanıp "vaybe derdim teksorguda üç tabloyu nasılda süzdüm" sonra birde tabloya 1.000 kayıt ekleyip bakayım zaman içerisinde n'olur diye denedim. Sonuç: makina kitlendi!. Her ikiside çok kayıt içeren tablolarla çalışırken bela olur.
iki tablo için iki ayrı sorgu kullanmak daha iyi amatörce gibi görünüyordur ama gerçekte profesyonel yaklaşım buymuş denedim gördüm.
|
|
|
|
|
Logged
|
|
|
|
|
 |
|