0

検索クエリ用にこのコードを作成するための最良の方法を探しています。

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

これは毎回検索されるため、都市のインデックスを作成します...どのクエリが優れているかについて、ここに行く方法についてのアドバイスを探しています。

ありがとう

4

0 に答える 0