• 03-05-2021, 13:45:57
    #1
    Projemde kullandığım 43m sql verim var. Php ile sütüna göre arama yaptırıyorum. Ancak sorgularım 20-25 saniye sürüyor. Sorgumu nasıl hızlandırabilirim ? Aşağıda gerekli sql bilgisi ve php kodlarını belirttim. Anlayan arkadaşlar yardımcı olabilirler mi ?

    SQL : 27 adet sütün var. 2 adet bigint veri türünte 25 adet varchar veritüründe. Arama yaptırdığım sütünların hepsi indexlenmiş durumda.

    Aramam yaptırdığım PHP kod satırı :

    SELECT * FROM tabloadi where colonadi LIKE '%$aranan%'
  • 03-05-2021, 13:49:33
    #2
    mhmtatsvn73 adlı üyeden alıntı: mesajı görüntüle
    Projemde kullandığım 43m sql verim var. Php ile sütüna göre arama yaptırıyorum. Ancak sorgularım 20-25 saniye sürüyor. Sorgumu nasıl hızlandırabilirim ? Aşağıda gerekli sql bilgisi ve php kodlarını belirttim. Anlayan arkadaşlar yardımcı olabilirler mi ?

    SQL : 27 adet sütün var. 2 adet bigint veri türünte 25 adet varchar veritüründe. Arama yaptırdığım sütünların hepsi indexlenmiş durumda.

    Aramam yaptırdığım PHP kod satırı :

    SELECT * FROM tabloadi where colonadi LIKE '%$aranan%'
    MySQL buffer'larını, pool'larını ve diğer parametrelerini makinenize göre ayarlayın/ayarlatın; onun dışında RAMDISK de kullanabilirsiniz.
  • 03-05-2021, 13:54:24
    #3
    İnputa göre arama nasıl yaptırıyosunuz aynı büyüklükte bi data bendede mevcut kodları alabilir miyim rica etsem ben beceremedim bi türlü
  • 03-05-2021, 13:54:28
    #4
    Öncelikle ASLA "select.* from" diye arama yapmayın
    Gereksiz cache ve ram kaybına neden olursunuz
    select id,gerekenyer, gerekenikinciyer, gereken3yer gibi arama yapın bu %50 fark attırır emin olabilirsiniz
    ikinci olarak arama yapacağınız kolon da indexleme yaptırabilirsiniz.
    bu da aramalarda ciddi bir hız sebebidir.
    Umarım anlatabilmişimdir.
  • 03-05-2021, 14:01:43
    #5
    yalinyalniz adlı üyeden alıntı: mesajı görüntüle
    MySQL buffer'larını, pool'larını ve diğer parametrelerini makinenize göre ayarlayın/ayarlatın; onun dışında RAMDISK de kullanabilirsiniz.
    Bilgisayar özelliklerimi belirtsem yardımcı olabilir misiniz. Bu konuda deneyimsizim.
  • 03-05-2021, 14:03:46
    #6
    mhmtatsvn73 adlı üyeden alıntı: mesajı görüntüle
    Bilgisayar özelliklerimi belirtsem yardımcı olabilir misiniz. Bu konuda deneyimsizim.
    Maddi getirisi olan bir projenizse VDS kiralayıp içinde yaparsanız hem daha verimli olur hem de bilgisayarınıza bir şey olursa verileriniz uzak sunucuda olduğundan güvende olur.

    Onun dışında elbette, atabilirsiniz.
  • 03-05-2021, 14:04:02
    #7
    doganemrex adlı üyeden alıntı: mesajı görüntüle
    İnputa göre arama nasıl yaptırıyosunuz aynı büyüklükte bi data bendede mevcut kodları alabilir miyim rica etsem ben beceremedim bi türlü
    Öncelikler bir tane select box koydum. select boxtan seçilen sütüna göre arama yapıyor. Örneğin

    if ($secilen== 'aranacaksutun'){
    'İlgili SQL komutları'
    }
  • 03-05-2021, 14:05:41
    #8
    osawashere adlı üyeden alıntı: mesajı görüntüle
    Öncelikle ASLA "select.* from" diye arama yapmayın
    Gereksiz cache ve ram kaybına neden olursunuz
    select id,gerekenyer, gerekenikinciyer, gereken3yer gibi arama yapın bu %50 fark attırır emin olabilirsiniz
    ikinci olarak arama yapacağınız kolon da indexleme yaptırabilirsiniz.
    bu da aramalarda ciddi bir hız sebebidir.
    Umarım anlatabilmişimdir.
    arama yaptırdığımda çıkan sonucu tablo olarak gösteriyorum. yani çıkan sonucun ilgili tüm satırını tabloda gösteriyorum. onun için select*from kullandım. İndexleme işlemlerini de yaptım ama malesef hala yavaş.
  • 06-05-2021, 18:55:26
    #9
    Kimlik doğrulama veya yönetimden onay bekliyor.
    mhmtatsvn73 adlı üyeden alıntı: mesajı görüntüle
    arama yaptırdığımda çıkan sonucu tablo olarak gösteriyorum. yani çıkan sonucun ilgili tüm satırını tabloda gösteriyorum. onun için select*from kullandım. İndexleme işlemlerini de yaptım ama malesef hala yavaş.
    Elasticsearch kullanabilirsiniz, biraz araştırın bu ismi.