我想问个位高手一个问题:对视图操作比较对表操作速度上有何差别
     如:T1表中有30万条记录  V1视图是在T1表过滤后得到10万表记录
     在对v1视图操作时会不会比直接通过SQL语句对T1表操作快为什么?请给点说明理由谢谢!

解决方案 »

  1.   

    是的我明白你的意思但是视图是定义了SQL语句那数据库系统本身会对他有特别的处理吧这种特别的处理提高了速度!这是我个人观点 , 不能肯定所以才请各位高手指教啊!;)
      

  2.   

    视图把SQL事先编译好,查询时少了一个解析过程
      

  3.   

    视图会存储oracle的执行计划, 在多表连接等复杂的连接的情况下会缩短oracle分析执行计划的时间,但同样的sql语句的执行计划也会被缓存.
    所以多次执行的情况下,效率应该是接近的.
      

  4.   

    我做了测试.一个表table有id 索引 name上有索引   一个视图v_table为select * from table where table.name='OK'select * from table where table.name='OK'

    select * from v_table
    的执行计划是一样的,理论上两个应该是一样快,受速度影响的可能是系统优化器在分析时的时间有点差异(个人观点).