我有一个包含大约 500000 条记录的表,我要做的就是使用 LIKE 通配符使用限制进行选择查询,无论我做什么,都需要足够长的时间才能显示结果。这对我来说一文不值,我怎样才能让它运行得更好?我的查询如下
询问
if (isset($_GET['res'])) {
$value = $_GET['res'];
$val = explode(" ", $value);
$query = "SELECT productid, productname, retailprice, lmnr, suplier
FROM comp where productname = '$value' ";
$count = count($val);
for ($i = 0; $i < $count; $i++) {
$query .= " union Select productid, productname, retailprice, lmnr, suplier
from comp where productname like '%" . $val[$i] . "%' ";
}
$query .=" GROUP BY productid, productname, retailprice, lmnr, suplier LIMIT $start, $limit";
}
$result_query = $db->query($query);
任何帮助表示赞赏,谢谢
注意 我已将此查询分解为联合,因为它用于搜索目的,我想从用空格分隔的字符串的所有可能匹配项中进行查询搜索,即 A TEST QUERY。应视为“%A%”、“%TEST%”、“%QUERY%”