Mysql中多表查询速度问题

XFliangwh 2007-12-11 11:18:30
我的系统有五个表,记录表(record),版位表(position),页面表(page),频道表(channel)和媒体表(medium)
其中record表里有一条记录的信息属性(六项左右,包括名称等)以及关联联的版位表的positionId ,
版位表又有关联页面表的pageId和版位名称,
页面表包括关联channel表的channelId和频道名称,
频道表包括关联媒体表的meidumId和媒体名称。

我要查询的信息是某些符合在某个媒体、某个频道的所有记录,而且要显示出这条记录所在的版位、页面、频道、媒体的名称。
记录表中有几十万的记录数,版位表也有几千个记录,通过连表直接查询速度好慢,有没有其他比较好的方法查询?
我的是5.1版,支持视图的,但是视图没有索引,也是提高不了速度,我还想知道视图中的属性会用到本来的表的索引?(如视图中包含channelId这项,在频道表的channelId是有索引的,试图中的这项会不会有?)
...全文
195 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xutao770 2008-01-09
  • 打赏
  • 举报
回复
嘿嘿!
懒得去死 2007-12-11
  • 打赏
  • 举报
回复
我不是说的很清楚了吗?
如果你的SELECT 语句可以用到索引,视图就能用到,反之则不能 。
XFliangwh 2007-12-11
  • 打赏
  • 举报
回复
试图不是表这个我知道啊,
我想知道的是视图可不可以用到本来表上的索引。
就是我在channel表上的channelId建立了索引,我在视图中也加入了这个channelId的属性,然后我的查询视图时也用到视图中的channelId这个属性,就是where的那里有用到,我想知道这样能不能用到本来在channel上建立的这个索引
懒得去死 2007-12-11
  • 打赏
  • 举报
回复
视图不是表。
视图是否能用到索引 就看你建立视图的SELECT 语句里面是否用到索引
XFliangwh 2007-12-11
  • 打赏
  • 举报
回复
没有人回答吗?大家帮帮忙啊.

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧