-
Üyelik
03.08.2015
-
Yaş/Cinsiyet
27 / E
-
Meslek
Yazılımcı
-
Konum
Fransa
-
Ad Soyad
A** H**
-
Mesajlar
1205
-
Beğeniler
437 / 458
-
Ticaret
2, (%100)
Genelde sorgularımda bir veri çekmek istersem
SELECT * FROM tablo
veya
SELECT * FROM tablo WHERE id='id'
şeklinde kodlarım. Fakat ben * kullanmazsam yani sadece üye id,isim,numara,durum gibi bilgileri çekmek istiyorsam
SELECT id,isim,numara,durum FROM tablo WHERE id='id'
kullanmam performansı artırırmı? birde İNNER JOİN felan kullanımını gördüm amma hiç kullanmadım projelerimde, nedir bu İNNER felan kısaca anlatırmısınız?
VoyL
WM Aracı
Kullanıcı
-
Üyelik
17.03.2013
-
Yaş/Cinsiyet
33 / E
-
Meslek
Öğrenci
-
Konum
İstanbul Avrupa
-
Ad Soyad
Ö** Ç**
-
Mesajlar
133
-
Beğeniler
0 / 23
-
Ticaret
0, (%0)
yüzbinler veya milyonlar üzerinde çalışmıyorsanız inanın milisaniye farkını anlamayacaksınız bile hocam. Her sorgunun döndüğü süreyi baz alarak kendiniz bile test edebilirsiniz sorgularınızın performansını.
1 kişi bu mesajı beğendi.
pg13
Xcode.
Kullanıcı
-
Üyelik
01.10.2013
-
Yaş/Cinsiyet
41 / E
-
Meslek
BilişimTeknolojileri Mühendisi
-
Konum
İstanbul Anadolu
-
Ad Soyad
O** Ö**
-
Mesajlar
321
-
Beğeniler
72 / 101
-
Ticaret
11, (%100)
limit 1 yaptığın sürece hız farkı önemli değildir ancak milyonlarca satır olan bir tablodan veri çekeceğin zaman * yerine ihtiyacın olan alanları tek tek belirtmek ciddi anlamda bir performans artışı sağlayacaktır.
inner join tablo birleştirme yöntemlerinden biridir. ona benzer bir çok join yöntemi vardır. performanstan tamamen farklı bir konudur araştırarak ne işe yaradıklarını öğrenebilirsin.
1 kişi bu mesajı beğendi.
-
Üyelik
13.07.2015
-
Yaş/Cinsiyet
32 / E
-
Meslek
php
-
Konum
İstanbul Anadolu
-
Ad Soyad
T** T**
-
Mesajlar
61
-
Beğeniler
3 / 4
-
Ticaret
1, (%0)
Hocam birde PDO kullanmanızı öneririm.
-
Üyelik
17.10.2014
-
Yaş/Cinsiyet
29 / E
-
Meslek
Öğrenci
-
Konum
Bilecik
-
Ad Soyad
C** E**
-
Mesajlar
158
-
Beğeniler
6 / 34
-
Ticaret
0, (%0)
Çok Büyük Veriler Yoksa Pek Fark Olmaz , Zaten Çok Veriniz Varsa Da Big Data Protokolüne Girer MySQL Yerine MongoDB Falan Kullanırsınız .
Caesar
ich bin /root
Kullanıcı
-
Üyelik
24.08.2015
-
Yaş/Cinsiyet
39 / E
-
Meslek
Bilgisayar Mühendisi
-
Konum
İstanbul Anadolu
-
Ad Soyad
O** B**
-
Mesajlar
837
-
Beğeniler
77 / 558
-
Ticaret
10, (%100)
Mysql de performans istiyorsanız sorguları, vesaireleri geçtim ilk olarak yapmanız gereken düzgün index oluşturmayı öğrenmektir.
Yük binen verilerde ne server, ne sorgular sizi rahatlatır. Herşer düzgün index atıp atmamanızla alakalıdır.
1 kişi bu mesajı beğendi.
>/dev/null 2>&1
3579
WM Aracı
Anonim Üyelik
-
Üyelik
30.01.2012
-
Yaş/Cinsiyet
- /
-
Meslek
-
Konum
-
Ad Soyad
** **
-
Mesajlar
2434
-
Beğeniler
686 / 1151
-
Ticaret
1, (%100)
JOIN bir tablodaki veriye bağlı olarak başka bir tablodan veri çekme işlemi diyebiliriz basitçe. Bunu php ile değil de direkt olarak MySQL ile yapıyorsun.
Mesela bir kullanıcıya ait mesajları çekmek için normalde şu mantık kullanılır;
$uye_sorgusu = "SELECT kullanici_id,kullanici_adi FROM uyeler";
// çektik sonuçları, döngüye girelim
while($sorgu_sonucu){
// Döngüde geçerli olan kullanici_İD'ye bağlı mesaj sayısı
$mesaj_sayisi = "SELECT count(mesaj_id) FROM mesajlar WHERE yazar_id='$sorgu_sonucu[kullanici_id]'";
}
Bunu Join'de tek sorguda halledebilirsin.
$uye_sonuc = "SELECT k.kullanici_id,k.kullanici_adi,COUNT(m.mesaj_id) as toplamMesaji
FROM uyeler as k
JOIN mesaj as m
ON m.yazar_id = k.kullanici_id";
while($sorgu_sonucu){
// mesaj sayisi
$mesaj_sayisi = $sorgu_sonucu['toplamMesaji'];
}
vb.
1 kişi bu mesajı beğendi.