问题描述
||
SELECT cm.course_id,xu.full_path,xu.file_name,xu.file_id,xu.virtual_server
FROM cms_doc.xyf_urls xu
LEFT JOIN bb_bb60.course_main cm ON xu.full_path LIKE \'/courses/\' ||
cm.course_id OR xu.full_path LIKE \'/courses/\' || cm.course_id || \'%\'
WHERE xu.full_path NOT LIKE \'/orgs%\'
AND xu.full_path NOT LIKE \'/institution%\'
AND xu.full_path NOT LIKE \'/library%\'
AND xu.full_path NOT LIKE \'/internal%\'
AND xu.full_path NOT LIKE \'/user%\'
ORDER BY cm.course_id
解决方法
之所以缓慢,是因为所有ѭ1都存在,特别是作为
JOIN
的一部分。
,首先,确保在xu.full_path
上有一个索引。
其次,两个“ 4”条件之一似乎是多余的。尝试使用此:
SELECT cm.course_id,xu.full_path,xu.file_name,xu.file_id,xu.virtual_server
FROM cms_doc.xyf_urls xu
LEFT JOIN bb_bb60.course_main cm
ON xu.full_path LIKE \'/courses/\' || cm.course_id || \'%\'
WHERE xu.full_path NOT LIKE \'/orgs%\'
AND xu.full_path NOT LIKE \'/institution%\'
AND xu.full_path NOT LIKE \'/library%\'
AND xu.full_path NOT LIKE \'/internal%\'
AND xu.full_path NOT LIKE \'/user%\'
ORDER BY cm.course_id