视图是不是每次要用到的时才去建立表关系?存储过程是一段编译好了的代码。

解决方案 »

  1.   

    试图其实就是存储的一个SELECT语句。一般用于不想在程序中出现真实的表名或列名;有时进行复杂的SELECT语句时把其中子查询的语句等先存成试图,可以被循环调用,所有试图都可以用子查询代替。存储过程是在机器时预编译好的,比执行普通的SQL语句要快。用ADO传递SQL语句给SQLSERVER执行时,会首先判断是何种类型,并检查语法等,然后在编译并制定执行计划。而存储过程在执行时前面几个步骤都省略了,直接制定执行计划。所以速度要比普通SQL语句要快。当执行一个复杂的SQL语句或SQL语句的执行时间很长时,可以考虑使用存储过程。 自定义函数就不用说了吧
      

  2.   

    "当执行一个复杂的SQL语句或SQL语句的执行时间很长时,可以考虑使用存储过程."引用上面的,视图也是一群复杂的SQL语句啥,如果做成视图,只是在ADO中传递一个简单的SELECT语句来检索视图,而不把大量的SQL语句写在客户端,这种做是否可行?关建是多个视图合并成一个视图。