MSSQL优化之————探索MSSQL执行计划最近总想整理下对MSSQL的一些理解与感悟,却一直没有心思和时间写,晚上无事便写了一篇探索MSSQL执行计划,本文讲执行计划但不仅限于讲执行计划。 网上的SQL优化的文章实在是很多,说实在的,我也曾经到处找这样的文章,什么不要使用IN了,什么OR了,什么AND了,很多很多,还有很多人拿出仅几S甚至几MS的时间差的例子来证明着什么(有点可笑),让许多人不知道其是对还是错。而SQL优化又是每个要与数据库打交道的程序员的必修课,所以写了此文,与朋友们共勉。 谈到优化就必然要涉及索引,就像要讲锁必然要说事务一样,所以你需要了解一下索引,仅仅是索引,就能讲半天了,所以索引我就不说了(打很多字是很累的,况且我也知之甚少),可以去参考相关的文章,这个网上资料比较多了。 今天来探索下MSSQL的执行计划,来让大家知道如何查看MSSQL的优化机制,以此来优化SQL查询。 --DROPTABLET_UserInfo------------------------------------------------------建测试表CREATE TABLE T_UserInfo( Useridvarchar(20), UserNamevarchar(20), RegTime datetime, Telvarchar(20),)--插入测试数据DECLARE ***@I INTDECLARE ***@ENDID INTSELECT ***@I = 1SELECT ***@ENDID=100 --在此处更改要插入的数据,重新插入之前要删掉所有数据WHILE ***@I <= ***@ENDIDBEGIN INSERT INTO T_UserInfo SELECT 'ABCDE'+CAST(***@I AS VARCHAR(20))+'EF','李'+CAST(***@I AS VARCHAR(20)), GETDATE(),'876543'+CAST(***@I AS VARCHAR(20)) SELECT ***@I = ***@I + 1END --相关SQL语句解释-----------------------------------------------------------------------------建聚集索引CREATE CLUSTERED INDEX INDEX_Userid ON T_UserInfo (Userid)--建非聚集索引CREATE NONCLUSTERED INDEX INDEX_Userid ON T_UserInfo (Userid)--删除索引DROP INDEX --------------------------------------------------------------------------------------------------------------------------------------------------------显示有关由Transact-SQL 语句生成的磁盘活动量的信息SET STATISTICS IO ON--关闭有关由Transact-SQL 语句生成的磁盘活动量的信息SET STATISTIC
MSSQL优化之————探索MSSQL执行计划 来自淘豆网www.taodocs.com转载请标明出处.