有人可以建议我对以下查询进行改进。
$q = "
SELECT q. *
FROM questions q, answers a
WHERE q.questions LIKE '%".$str."%'
OR a.answers LIKE '%".$str."%'
AND q.id = a.id_questions
GROUP BY q.id
LIMIT 10"
它用于搜索数据库,其中包含> 100.000个问题和答案。
使用较少的记录可以正常工作,但现在......
即使有限制10,服务器也会消失
答案 0 :(得分:2)
试试这个:
SELECT q.*
FROM questions q
INNER JOIN answers a
ON q.id = a.id_questions
WHERE q.questions LIKE '%yourstring%'
OR a.answers LIKE '%yourstring%'
GROUP BY q.id