Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/249.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 搜索Mysql的最佳方式-大型where或多个where语句_Php_Mysql_Pagination - Fatal编程技术网

Php 搜索Mysql的最佳方式-大型where或多个where语句

Php 搜索Mysql的最佳方式-大型where或多个where语句,php,mysql,pagination,Php,Mysql,Pagination,我只是在寻找构建搜索查询代码的最佳方法 假设我有一个搜索,必须搜索6列和一个高级搜索,看14列。 我在考虑压缩它,以搜索一列大数字 例如,假设我有“城市、价格、日期、类型、区域”等类别,然后大约有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

我只是在寻找构建搜索查询代码的最佳方法

假设我有一个搜索,必须搜索6列和一个高级搜索,看14列。 我在考虑压缩它,以搜索一列大数字

例如,假设我有“城市、价格、日期、类型、区域”等类别,然后大约有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
使用此代码,自定义字段被放入一个字段中,并给定0=no或1=yes,开始搜索以查看前两个数字是否等于3+,2+,然后是u。例如,其他_searchables字段看起来像“2300111101110000101”

或者为每列使用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
我要索引的城市,因为这将被搜索每一次。。。只是想在这里寻找关于哪种方式更好的建议


谢谢

事实上,你可以在
EXPLAIN
语句下做一个基准测试。如果表中的行数较少,这是否有效,我将把两个代码放在一起,看看在接下来的几天内哪一个更快,如果是的话,我会向你汇报