我可以从上面的查询中看出,您愿意做以下事情。
获取所有帖子,如果property_size
是15
和property-type
是marla
或Kanal
.
SQL将是like %marla% OR like %Kanal%
这相当于like %marla Kanal%
这不会有多大区别(我想)
因此,您可以通过这种方式最小化此查询
$compare_array = array(
\'relation\' => \'AND\',
array(
\'key\' => \'property_size\',
\'value\' => \'15\',
\'type\' => \'numeric\',
\'compare\' => \'=\'
),
array(
\'key\' => \'property-type\',
\'value\' => \'marla Kanal\',
\'type\' => \'CHAR\',
\'compare\' => \'LIKE\'
)
);
在我的测试中,它将查询时间减少了
428 ms
SQLlike
非常昂贵,因此如果您要匹配精确值,请使用IN
使用值数组。
array(
\'key\' => \'property-type\',
\'value\' => array(\'marla\', \'Kanal\'),
\'type\' => \'CHAR\',
\'compare\' => \'IN\'
)