问一下为什么我用同样的语句查询同样的表  第一次的时间较长 第二次很快就出结果(期间数据没有变动)
请问这是什么原因  或者说造成这种现象的原因是什么,背后机制  就不贴语句了 跟语句无关

解决方案 »

  1.   

    原因有,
     1,execution plan,第一次执行需产生执行计划,编译要花时间,第二次执行就能复用第一次的执行计划. 
     2,data buffer,相关的数据页(data page)已从磁盘读取到内存中了,第二次执行不需再物理读.
     3,一种完全可能的情况: 第二次执行时遇到锁争,出现锁等待(lock waiting).
      

  2.   

    参考一下:
    http://bbs.diybl.com/dview65t128230.html
      

  3.   

     数据库缓存可以存放近段时间运行的语句,运行语句时,不用在像之前要从数据库表中一个个表中去检索是直接从缓存中取数据较快
    [/Quote]