NEREDE kullanarak, VE, &

0 Cevap php

Bu sorgu çalışacak mı? Bu en verimli mi?

SELECT * FROM `posts`
WHERE MATCH (`title`, `body`)
AGAINST ('search terms' IN BOOLEAN MODE)
AND `price` BETWEEN '100' AND '1000'
AND (`postinto` = 'cat1' OR `postinto` = 'cat2')
AND (`location` = 'loc1' OR `location` = 'loc2')
ORDER BY `id` DESC
LIMIT 0, 100;

postinto ve location PHP dizide yer alacak değerlerini, yani bu işe eğer ben sorgu terimleri üretmek için kendi diziler döngü planı: Not. MySQL tüm dizi geçmek için bir yolu var mı? Ayrıca, bu iki durum (bir düzine değerleri) oldukça uzun olma olasılığı var. Daha iyi bir yolu var mı?

özellikle benim soru bu ilgili:

AND (`postinto` = 'cat1' OR `postinto` = 'cat2')
AND (`location` = 'loc1' OR `location` = 'loc2')

"| gruplar topluluk", "alım-satım-ticaret | elektronik önce" | bir kategoridir ve | bir alt kategori sonra. olası değerleri bir örnek olacaktır Ben bütün bir kategoriyi arıyorum Eğer ben sorgunun o kısmını değiştirmek istersiniz:

AND (`postinto` LIKE 'category|%' OR `postinto` = 'this'

Ben Fulltext arama için uygun endeksler var, benim sorum OR yan tümcesi hakkında olduğunu. Eğer kullanabileceğiniz kez OR biri sorguda maksimum numarası var mı? Bu sözdizimi bile doğru mudur?

Teşekkürler

0 Cevap