• 16-08-2015, 12:51:43
    #1
    Arkadaşlar veritabanımda 10.000 kayıt var ben bu kayıtlar arasında arama yapmak istiyorum.

    SELECT * FROM * WHERE * LIKE "%'araba'%"

    bu şekilde arama yaptığım zaman sonuç çok geç dönüyor. Buna nasıl bir çözüm bulabilirim?
  • 16-08-2015, 14:20:19
    #2
    Üyeliği durduruldu
    mysql mi kullanıyorsun? başka bir veritabanı kullanmayı denedin mi ?
  • 16-08-2015, 14:44:34
    #3
    Gelen sonuçları sayfa sayfa çekebilirsiniz


    Sent from my iPhone using Tapatalk
  • 16-08-2015, 17:47:32
    #4
    Kimlik doğrulama veya yönetimden onay bekliyor.
    select * yerine, sadece arama yapmak istediğiniz ve işinize yarayacak alanları seçin. ayrıca bunları sql'de index olarak belirleyin. bununla birlikte aramaları sayfalandırmıyorsanız, kesinlikle sayfalandırma yapıp, limitleyin.
  • 16-08-2015, 20:27:35
    #5
    Kullandığınız alan Varchar veya TEXT ise full text search kullanın. Bunun için tablonun MyISAM türünde olması gerekli. (MySql 5.6 ve üzeri ise InnoDb de olabilir)

    Yüksek trafik alan ve çok fazla arama yapılan bir sistemse yada tablo türü InnoDB ise Sphinx yada ElasticSearch öneririm. Ben 1 milyon adet ürün içinde 1 saniye altında sonuç aldım Sphinx ile.