普通视图和物化视图的区别:
普通视图和物化视图根本就不是一个东西,普通视图是不存储任何数据的,在查询中是转换为对应定义的SQL去查询,而物化视图是将数据转换为一个表,实际存储着数据,这样查询数据,就不用关联一大堆表,如果表很大的话,会在临时表空间内做大量的操作。
普通视图的三个特征:
1).简化设计,方便,清晰编码。视图并不是提高性能的,它的存在只会降低性能(例如我们关联两个视图,一个视图关联6个表,另一个视图关联7个表)。
2).安全,在授权给其他用户或者查看角度,多个表关联只允许查看,不允许修改。
3.从不同的角度看不同的维度,视图可以划分维度和权限,并使多个维度的综合,也就是你要什么就可以从不同的角度看,而表是一个实体的而已,一般维度较少。
5. 死锁与阻塞
1).对于需要频繁更新的数据,尽量避免放在长事务中,以免导致连锁反应。
2).不是迫不得已,最好不要在数据库锁机制外再加自己设计的锁。
3).减少事务大小,及时提交事务。
4).尽量避免跨数据库的分布式事务,因为环境的复杂性,很容易导致阻塞。
5).慎用位图索引,更新时容易导致死锁。
6.减少IO与网络传输次数
1).尽量用较少的数据库请求,获取到需要的数据,能一次性取出的不分多次取出。
2).对于频繁操作数据库的批量操作,应采用存储过程,减少不必要的网络传输。
更多SQL内容来自木庄网络博客