日期:2014-05-17  浏览次数:20468 次

sql多张表建视图,如何提高效率
最近做学校的教务系统,基本表之间建了关系表,取代了直接的主外键,保证了数据库的灵活性,表多了许多。建立视图查询的时候最多用了13张表,这样效率一定很低,请问有什么好办法提高效率吗?
听说过建临时表保存视图的数据可以提高效率,其他的就不了解了
sql 视图?效率

------解决方案--------------------
可以尝试给视图建立视图索引,不过视图索引建立的规则很严很繁琐

------解决方案--------------------
1、只有2005以上才能建索引视图,2000是不可以的,另外,真的很繁琐。对于非报表系统一般不适用。
2、建议创建存储过程来返回数据,把表关联的逻辑直接放到存储过程中,直接访问基础表,几乎肯定比视图快。
3、由于使用有一定的局限性,可以看这里:http://blog.csdn.net/dba_huangzj/article/details/8426684,所以不建议太多使用,一般在限定安全性的情况下视图比较有效。
4、在上面3点之后,建议检查13个表之间的索引是否有用好,如果用好了,13个表关联完全没问题。