是自动维护的,不过它不是个实体表。
它没有索引等功能,至于哪个效率高,我想你可以自己测试一下,不过提醒不是所有的视图都比select高。不过我可以分析一下两条语句的情况,
1、视图的话,则根据a.id=b.no的条件生成虚拟表,然后才判断id=1。
2、sql server会根据三个字段的索引情况来进行查找,如果id是主键的话,它多数是先找id=1,然后才回去找a.id=b.no的条件。

解决方案 »

  1.   

    SQL Server是自动维护视图的,而且引入视图的目的不在于提高查询的速度,所以正如 zhujiechang 兄所说, "不是所有的视图都比select高"引入视图的目的在于提供不同的安全访问,但其增加了系统的开销(比如说,存储空间等),而且视图是虚拟表,不是实际存在的,这就是其不同于表的地方.你所提出的问题,我在SQL SERVER里试过了,确实视图比那句简单的查询代价小.
      

  2.   

    以前听说视图容易锁表,是有这么回事吗?
    如果我的视图只是用来查询,并加上了with nolock这样子的语句还会有问题吗?
      

  3.   

    SQL 2K的视图就是存放些查看表的指令,也可称虚表