WEB开发网
开发学院数据库MSSQL Server select查询原理 阅读

select查询原理

 2008-11-19 10:09:42 来源:WEB开发网   
核心提示: 第三步:语句执行,服务器对SQL语句解析完成后,服务器才会知道这条语句到底表态了什么意思,接下来才会真正的执行SQL语句,select查询原理(3),些时分两种情况:1):如果查询语句所包含的数据行已经读取到数据缓冲存储区的话,服务器会直接从数据缓冲存储区中读取数据返回给应用程序,避免了从

第三步:语句执行。

服务器对SQL语句解析完成后,服务器才会知道这条语句到底表态了什么意思,接下来才会真正的执行SQL语句。

些时分两种情况:

1):如果查询语句所包含的数据行已经读取到数据缓冲存储区的话,服务器会直接从数据缓冲存储区中读取数据返回给应用程序,避免了从物理文件中读取,提高查询速度。

2):如果数据行没有在数据缓冲存储区中,则会从物理文件中读取记录返回给应用程序,同时把数据行写入数据缓冲存储区中,供下次使用。

说明:SQL缓存分好几种,这里有兴趣的朋友可以去搜索一下,有时因为缓存的存在,使得我们很难马上看出优化的结果,因为第二次执行因为有缓存的存在,会特别快速,所以一般都是先消除缓存,然后比较优化前后的性能表现,这里有几个常用的方法:

DBCC DROPCLEANBUFFERS

从缓冲池中删除所有清除缓冲区。

DBCC FREEPROCCACHE

从过程缓存中删除所有元素。

DBCC FREESYSTEMCACHE

从所有缓存中释放所有未使用的缓存条目。SQL Server 2005 数据库引擎会事先在后台清理未使用的缓存条目,以使内存可用于当前条目。但是,可以使用此命令从所有缓存中手动删除未使用的条目。

这只能基本消除SQL缓存的影响,目前好像没有完全消除缓存的方案,如果大家有,请指教。

结论:只有知道了服务执行应用程序提交的SQL的操作流程才能很好的调试我们的应用程序。

    1:确保SQL语法正确;

2:确保SQL语义上的正确性,即对象是否存在;

3:数据库用户是否具有相应的访问权限。

注:

本文引用:

http://database.ctocio.com.cn/tips/210/7791210.shtml

http://tech.it168.com/a2008/0805/199/000000199573.shtml

上一页  1 2 3 

Tags:select 查询 原理

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接