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?
PHP Arama Algoritması
4
●640
- 16-08-2015, 14:20:19Üyeliği durduruldumysql mi kullanıyorsun? başka bir veritabanı kullanmayı denedin mi ?
- 16-08-2015, 17:47:32Kimlik 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:35Kullandığı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.