标签:
一 视图view被称为虚拟表,view是SQL的查询结果。可以简单的理解为view是table的影子或者镜子。
二 view的作用:
(1)权限控制:当允许用户只能查询某个表中的某些列时,可以用视图开放其中几列而起到权限控制的作用。
(2)简单化查询语句:当查询语句相当复杂时,可以将内嵌的查询语句当做一个视图,再进行查询,看上去简单易懂。
三 table和与之相应的view的关系
(1)当修改table中的数据时,view中的数据自然而然就会发生变化。
(2)如果view中的每一行与物理表中数据是一一对应,那么修改view数据就会影响到table中的数据,如果不是,那么修改view的语句就会报错,无法执行。比如一个view中有每个学生的名字和对应的平均成绩,当修改平均成绩时,则无法映射到table中,因为该生的科目有多个,无法确认哪一行数据发生了变化。
四 视图查询
(1)简单查询形成的view,如果对view进行查询,就会把建view语句+查view语句=>>合并成查物理表语句,这种算法叫做merge(合并)。
(2)若view中语句较为复杂,很难将查view语句合并,MySQL就会先执行view的创建语句,将返回的结果集形成内存中的临时表,然和再根据查询view语句进行查询。
标签:
原文地址:http://www.cnblogs.com/houtaoliang/p/4707448.html