随笔 - 120, 文章 - 1, 评论 - 166, 阅读 - 19万
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

随笔分类 -  MSSQL 性能调优

摘要:SQL Server 2012 推出的最重要的功能之一Alwayson,是一个集之前Cluster和Mirror于一体的新功能,即解决了Cluster依赖共享存储的问题,又解决了镜像不能实时读以及转移后连接串需要添加转移IP的问题,看起来的确很实用。而且Alwayson多副本的功能为实现读写分离提供... 阅读全文

posted @ 2014-05-26 11:20 nzperfect 阅读(9553) 评论(14) 推荐(4) 编辑

摘要:SQL Server 数据库有三种文件类型,分别是数据文件、次要数据文件和日志文件,其中日志文件包含着用于恢复数据库的所有日志信息,SQL Server总是先写日志文件ldf,数据变化写入mdf则可以滞后,所以日志写入的速度在一定程序上决定了SQL Server所能承载的写事务量,那么ldf写入大小... 阅读全文

posted @ 2014-05-23 11:23 nzperfect 阅读(1400) 评论(3) 推荐(1) 编辑

摘要:作者:nzperfect本文地址:http://www.cnblogs.com/nzperfect/archive/2012/12/28/2837286.html本文示例使用FASH nuber_rows改变SQL执行计划准备测试数据:USE TEMPDBGO--建立基本数据:--///////////////////CREATE TABLE STUDENT(SNO VARCHAR(3) NOT NULL, SNAME VARCHAR(4) NOT NULL,SSEX VARCHAR(2) NOT NULL, SBIRTHDAY DATETIME,CLASS VARCHAR(5))GOCREA 阅读全文

posted @ 2012-12-28 14:45 nzperfect 阅读(1253) 评论(2) 推荐(1) 编辑

摘要:考虑这种情况:在大多数时间里你的存储过程运行良好,但是有时非常差,性能仿佛从天下掉到地下,有人会说肯定是统计信息更新不及时,而且当你手动运行它并查看执行计划,你会发现预估行数和实际行数有很大差距,你会因此而确定是统计信息不准确造成执行计划生成不正确。但是,可能并不是。。。存储过程、使用sp_executesql的参数化语句、预编译的SQL语句都会重用一个缓存的执行计划,它是由一个称为参数嗅探定义的,参数嗅探本身并没有问题,但是相同的存储过程或参数化语句去调用已经生成的执行计划时,就有可能引发一些问题。比如:如果一个参数化查询语句只返回一行数据,那么它可能会生成一个简单的轻量级执行计划,这个执行 阅读全文

posted @ 2012-12-24 16:42 nzperfect 阅读(1998) 评论(21) 推荐(4) 编辑

摘要:存在即更新,反之插入的需求是很常见的,很多人没有注意并发的问题,高并发下为了避免唯一键冲突和死锁情况,下面提供三种写法,最后一个是sql server 2008及以后版本适用。示例表为:usetempdbgocreatetabletb_1(idintidentityprimarykey,avarchar(50),dtdatetimedefaultgetdate())go写法一:begintranifexists(select*fromtb_1with(updlock,serializable)whereid=100)beginupdatetb_1seta='a100'where 阅读全文

posted @ 2011-09-27 14:45 nzperfect 阅读(3082) 评论(5) 推荐(1) 编辑

点击右上角即可分享
微信分享提示