【发布时间】:2010-11-05 18:12:37
【问题描述】:
我有一个关于在 JOIN 中使用 CONCAT 的 mysql 优化问题。 我有两张桌子:
页面
(id、类型、标题、内容)
1、'前台'、'欢迎'、'内容文字'
2, 'page', 'Page 2', '更多内容'
路径
(pid, syspath, cleanpath)
98, '前/1', '/'
99, 'page/2', '/联系人'
使用我使用的路径选择内容:
选择 c.title、c.content、u.cleanpath
从页面 c
LEFT JOIN 路径 p ON p.syspath = CONCAT(c.type, '/', c.id);
现在这个查询工作正常,但是记录很多时速度非常慢。我怎样才能加快速度?我应该换一种方式吗?
遗憾的是,我无法更改数据库架构或“系统路径”字段。
任何帮助都会很棒,谢谢。
【问题讨论】:
-
如果无法更改数据库,则无法在 MySQL 中修复此问题。
-
创建一个视图怎么样?还是在程序中执行sql?可以添加索引吗?