一般使用视图的时候,都会在视图基础上再增加一些查询条件,比如说select * from view1 where id = xxx
那么这样和直接查询原表相比应该是有一定的效率差距的。
这里的查询过程,到底是完全不管之后的where id=xxx,先将view1中所有的数据取出做一个虚表呢,还是说把生成view1的sql语句填入此处,使得从原数据表中取的数据有所减少?
那么这样和直接查询原表相比应该是有一定的效率差距的。
这里的查询过程,到底是完全不管之后的where id=xxx,先将view1中所有的数据取出做一个虚表呢,还是说把生成view1的sql语句填入此处,使得从原数据表中取的数据有所减少?
但是在公司的数据库中发现一个一千多万行的视图,此视图的生成就是将很多结构相同的表union all起来。然后此视图还经常被用到,感觉速度还挺快,所以不能理解