这是一个很小的网站,很快就变得非常流行,现在我对下面的sql查询有了很大的问题。
我知道我的数据库设计不是很好。我有subjects和programs的文本字段,其中包含一个序列化的数组,我使用like对其进行搜索。
下面的查询大约需要一分钟。
SELECT p.*, e.institution
FROM cv_personal p
LEFT JOIN cv_education e
ON p.id = e.user_id
LEFT JOIN cv_literacy l
ON p.id = l.user_id
WHERE 1 = 1
AND (e.qualification LIKE '%php%' OR e.subjects LIKE '%php%' OR l.programs LIKE '%php%')
GROUP BY p.id
ORDER BY p.created_on DESC发布于 2010-10-13 15:40:38
什么解释节目?我认为您可以向连接添加条件,以减少使用的记录数量:
SELECT p.*, e.institution
FROM cv_personal p
LEFT JOIN cv_education e
ON (e.qualification LIKE '%php%' OR e.subjects LIKE '%php%') AND p.id = e.user_id
LEFT JOIN cv_literacy l
ON l.programs LIKE '%php%' AND p.id = l.user_id
ORDER BY p.created_on DESC为什么要使用GROUP BY呢?
https://stackoverflow.com/questions/3921612
复制相似问题