SQL多个表联合查询优化的问题

请问我有一个表和4个子表要联合查询。放在一个GRID里面一般查询是select成绩表.ID,姓名表.学生姓名,班级表.班级名,成绩表.语文,成绩表.数学,教师表.老师姓名... 请问 我有一个表和4个子表 要联合查询。放在一个GRID里面 一般查询是
select 成绩表.ID,姓名表.学生姓名,班级表.班级名,成绩表.语文,成绩表.数学,教师表.老师姓名 from
(1) 成绩表,姓名表,班级表,教师表 where 成绩表.学生ID =姓名表.学生ID and 成绩表.班级ID=班级表.ID and 成绩表.教师ID=教师表.ID
(2) 成绩表 left join 姓名表 on 成绩表.学生ID =姓名表.学生ID left join 班级表 on 成绩表.班级ID=班级表.ID left join 教师表 on 成绩表.教师ID=教师表.ID
有这2种方法来查数据我的本意是做数据库分页 而且由于条件比较多 所以我选择了视图在处理方式。从上面的代码来看(2)的效率会比(1)高。可是视图要是有索引则不允许有left join 方式。
所以有点2难。是放弃视图索引 还是选择(1)方法。如果选择了索引那 (1)和(2)的查询速度差别很大吗。。在记录数比较庞大的时候。。。
这样做好视图我就可以直接在存储过程采用分页方法来实现海量数据的快速查询了。。
展开
 我来答
百度网友ecff4ecf9a
2012-05-11 · 超过71用户采纳过TA的回答
知道答主
回答量:325
采纳率:0%
帮助的人:202万
展开全部
你为何不考虑存储过程呢。如果你的数据是一些不怎么改变的你就用视图这样效率高。
追问
本身设计就是分页的存储过程 存储过程里面 要查询如上的表 但是表结构复杂 所以就打算用视图先做 然后在存储过程里面直接用这个视图进行条件筛选 。。。
追答
就这样做吧,效率不索引高的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式