Merhaba arkadaşalar öncelikle,
Php ile veritabanından 7000 satırlık bir tablo çekiyorum. Çekerkende işlem yaptırıyorum. 7000 satır içinde bulunan "numaralara" göre, başka bir tablodan o numaralara karşılık gelen "isim" falan çektiriyorum. Yani anlayacağınız karışık bir durum var. Buda haliyle ağırlaştırdı sistemi. Çözüm olarak ne yapabilirim.
Bu tablolar için lazyload gibi bir özellik varmı.
yada tabloda aramaya göre çektirsem daha mı hızlı olur ? birde mysqlde arama nasıl yaptırabilirim. (tabi arama işlemi işimi kolaylaştıracaksa.
Php ile veritabanı hızlandırma.
6
●467
- 14-05-2019, 11:27:37Kimlik doğrulama veya yönetimden onay bekliyor.7000 satırı tek tek sorgulamak yerine toplu gidersen bayağı bir zaman elersin.
Örn:
SELECT id FROM SATIRLAR ORDER BY id DESC; = 7000 SATIRI DA ALDIK tek seferde.
2. sorgu:
SELECT id FROM DIGERTABLO WHERE numara_id IN ( implode( " , " , ilk_sorgudaki_idler )
Böylece 7000 satır için DIGERTABLO'dan 7000 ayrı sorgu yapmak yerine işi 2 sorguda bitirdin.
Pek tabi JOIN olayını nasıl yapıyorsun bilemem, uyuyorsa bu şekilde baya hızlandırırsın
- 14-05-2019, 11:50:26Hocam o bana uymuyor ne yazıkki.Suerte adlı üyeden alıntı: mesajı görüntüle
Bu kod neden çalışmıyor yardımcı olur musunuz ?
<?php //Zararlı Kodları Süzmemiş İçin Function Oluşturuyoruz function guvenlik($q) { $q = str_replace("`","",$q); $q = str_replace("&","",$q); $q = str_replace("%","",$q); $q = str_replace("'","",$q); $q = str_replace(")","",$q); $q = str_replace("(","",$q); $q = str_replace("<","",$q); $q = str_replace(">","",$q); $q=trim($q); return $q; } //Ve Get İle Aranılan Kelimeyi arama Değişkenine Atıyoruz. $arama = guvenlik($_GET['arama']); // Ve Sorgumuzu Yapıyoruz. Sorguda Kullandığımız like Arama Yaptırılırken Kullanılan Bir Komut $sorgu = mysql_query("SELECT * FROM urunliste WHERE $urun like '%".$arama."%'"); //Yazdırma İşlemini Başlatıyoruz. while($yaz=mysql_fetch_array($sorgu)){ echo $yaz['baslik']; } ?> - 14-05-2019, 11:53:33SELECT * FROM urunliste WHERE baslik like '%".$arama."%'
Ek olarak, zararlı kod ayıkla olayı seni kurtarmaz öyle kolay kolay
En azından mysql_real_escape_string kullan $_GET ile aldığın bölüm için.
SELECT * FROM urunliste WHERE baslik like '%".mysql_real_escape_string($arama)."%' - 14-05-2019, 11:59:30hocam teşekkür ederim bu nasıl bi dikkatsizliktir bendeki yaSuerte adlı üyeden alıntı: mesajı görüntüle

Suerte adlı üyeden alıntı: mesajı görüntüle
Hocam birde son kez bir şey sorayım sana.
Bu kodda arama fonksiyonuçalışıyor, arama sonucu sayısıda doğru ama tablo satırlarını doldurmuyor.
<?php //Zararlı Kodları Süzmemiş İçin Function Oluşturuyoruz function guvenlik($q) { $q = str_replace("`","",$q); $q = str_replace("&","",$q); $q = str_replace("%","",$q); $q = str_replace("'","",$q); $q = str_replace(")","",$q); $q = str_replace("(","",$q); $q = str_replace("<","",$q); $q = str_replace(">","",$q); $q=trim($q); return $q; } //Ve Get İle Aranılan Kelimeyi arama Değişkenine Atıyoruz. $arama = guvenlik($_GET['arama']); // Ve Sorgumuzu Yapıyoruz. Sorguda Kullandığımız like Arama Yaptırılırken Kullanılan Bir Komut $sorgu = mysql_query("SELECT * FROM urunliste WHERE urun like '%".mysql_real_escape_string($arama)."%'"); //Yazdırma İşlemini Başlatıyoruz. ?> <table class="table table-striped table-bordered table-hover" id="dataTables-example"> <thead> <tr> <th>Ürün Adı</th> <th>Y. P. Barkodu</th> </tr> </thead> <tbody> <?php while($yaz=mysql_fetch_array($sorgu)){ echo '<tr class="odd gradeX"> <td>'.$sorgu['urun'].'</td> <td>'.$sorgu['ypbarkod'].'</td> </tr>'; } ?> </tbody> - 14-05-2019, 15:11:46hocam çok iyi değilim bu phpde yeni başladım ondan kaynaklandıSuerte adlı üyeden alıntı: mesajı görüntüle
ama gördüm sorunu sorun çözüldü teşekkür ederim sizede.