検索クエリ用にこのコードを作成するための最良の方法を探しています。
6 列を検索する必要がある検索と、14 列を調べる高度な検索があるとします。数字の大きい1列を検索するために圧縮することを考えていました。
たとえば、「都市、価格、日付、タイプ、エリア」というカテゴリがあり、約 8 つの「はい」または「いいえ」(または 1/0) の列があるとします。どの検索がより適切に/より速く機能するのか疑問に思っています。
SELECT * FROM table WHERE city=$city AND price BETWEEN ($price) AND other_searchables = [3-9][2-9]__1_1_110110_____1_1
このコードでは、カスタム フィールドが 1 つのフィールドに配置され、0=no または 1=yes が指定され、最初の検索で最初の 2 つの数字が 3+ と 2+ に等しいかどうか、次に任意の文字の _ が検索されます。たとえば、other_searchables フィールドは「2300111011011100000101」のようになります
または、各列に WHERE を使用しますか?
SELECT * FROM table WHERE city=$city AND price BETWEEN ($price) AND type = $types AND area = $areas AND customfield = 1 AND customfield = 0 AND customfield = 1 AND customfield = 1 AND customfield = 0 AND customfield = 1 AND customfield = 0 AND customfield = 1
これは毎回検索されるため、都市のインデックスを作成します...どのクエリが優れているかについて、ここに行く方法についてのアドバイスを探しています。
ありがとう