当前位置: 首页 > news >正文

网站建设咨询哪家性价比高商城网站定制建设价位

网站建设咨询哪家性价比高,商城网站定制建设价位,栅格化系统制作网页界面设计,网页设计模板html代码dw曾今有件事情让我记忆犹新#xff0c;那年刚来携程不久#xff0c;马上就被安排写一个接口#xff0c;供企鹅公司调用他们员工的差旅信息#xff0c;然后我就三下五除二的给写好了#xff0c;上线之后#xff0c;大概过了一个月。。。DBA那边报告数据库出现大量锁超时那年刚来携程不久马上就被安排写一个接口供企鹅公司调用他们员工的差旅信息然后我就三下五除二的给写好了上线之后大概过了一个月。。。DBA那边报告数据库出现大量锁超时并且及时根据sql的来源将email发到了我们部门指出sql读取时间过长并且缺少nolock影响了大量机票订单入库然后我就拿着sql去生产环境跑了下22s。。。花擦。。。项目上线时间太久版本已经不存在了无法回滚。。。原本准备撤下接口。。。看了下撤下接口跟加上nolock时间相差不多最后决定先加上nolock发布紧急单。。。然后再优化DBA那边暂时做手工解锁发上去后最后就是损失XXXX订单。。。定级为三级事件。然后就是追责当然这个责任只能有老大们去承担了出了这次由我引发的事件我得思考了出了事情对我不见得全是坏事起码这次会让我铭记如心想想也搓来携程之前根本就不会关注要不要给select指定nolock这其中也包括自己没遇到过大数据吧也包括自己的能力有限只知道有锁这个玩意细说的话就啥也不知道了后来才知道携程有个规则就是很多业务产线所写的select都必须指定nolock懂一点的人可能会说nolock可以提升性能如果你这样说确实是这样因为数据库的锁是有96字节开销的没了锁也就没有你在profile中看到accquired和released痉挛了当你看完我的事件之后你可能会意识到性能提升不是最关心的最关心的就是不要出现死锁锁等待。。。好了言归正传下面我们看看到底在数据库中可以指定多少个锁一到底可以指定多少个锁这个问题有意思我们不需要记只要你装一个SQL Prompt有了这个神器你就知道到底有多少个如下图 DROP TABLE dbo.Person CREATE TABLE Person(ID INT IDENTITY,NAME CHAR(4000) DEFAULT xxxxx) INSERT INTO dbo.Person DEFAULT VALUES go 6 一眼扫下去还是蛮多的不过你要注意了那些所谓的XXXLock才是我们需要关注的根据上面的图我们大概把锁分个类。。。粒度锁PAGLOCK, TABLOCK, TABLOCKX, ROWLOCK, NOLOCK模式锁HOLDLOCK, UPDLOCK, XLOCK接下来我从粒度锁说起1. NOLOCK都说nolock是无锁模式的那到底是怎样的无锁呢到这篇为止你应该知道如果不加nolock我们的表数据页是附加IS锁的那接下来我用profile看下两者有什么区别。从上图中你会看到加上nolock之后object上面附加了Sch-S锁这个锁叫做“架构稳定锁”很简单就是sql编译时附加的一把锁目的就是防止在编译时有其他连接修改表结构而这个锁只与Sch-M锁冲突与其他锁都兼容这说明什么说明其他连接锁住了记录也没关系我的nolock不跟他们打交道这样的话就可能会读到脏数据不过没关系携程的很多业务是容许脏数据的毕竟比锁等待死锁要强得多再说nolock读到了其他连接未修改或者未提交的数据这个概率也比较低就算遇到了也没关系一般不会招来客诉的客人或许再刷下页面数据或许就正确了对不对。。。2.TABLOCK这个还是比较见名识义的就是附加在table上的锁也就是表锁了很恐怖的。。。下面我举个Update的例子看看前后对比。在上面你有没有看到X锁已经附加到OBJECT上面去了。。。这样的话其他连接就动不了这个Object了只能等待。。。3. PAGLOCK看了名字你应该也知道就是附加到页面这个级别的锁我也举一个Update的例子。 BEGIN TRAN UPDATE dbo.Person SET NAMEaaaaa WHERE ID6 BEGIN TRAN UPDATE dbo.Person WITH(PAGLOCK) SET NAMEbbbbb WHERE ID4 从上面两个图中你应该可以看到原来附加到RID上面的U锁由于PagLock的提升现在要附加到Page上面了这个就是所谓的数据页锁。4.TABLOCKX, ROWLOCK这两个我就不细说了TABLOCKX就是直接附加在table上的X锁你可以通过select看一下。ROWLOCK的话默认情况下就是ROWLOCK比如默认的Update你会发现RID上被附加的U锁这个就是行锁。5.UPDLOCK这个锁还是蛮有意思的它就是update锁如果你select下它会呈现update的锁痉挛效果。6. XLOCK知道了UPDLOCK锁我想XLOCK你也应该明白了。。。它就是delete锁即排他锁我可以让select带上排他锁。7.HOLDLOCK最后一个我也没闹明白据说是让语句在整个事务中持有锁然后我就用select和update调试一下。 SELECT * FROM dbo.Person(HOLDLOCK) UPDATE dbo.Person WITH(HOLDLOCK) SET NAMEbbbbb WHERE ID4 从图中可以看到HOLDLOCK不管是在select还是Update中都是对表持有锁这个就留给大家观察哈~~~好了本系列就到此为止希望您学的愉快吃的开心
http://www.yutouwan.com/news/299177/

相关文章:

  • 一个网站备案两个域名吗网站开发所需人员
  • 网站建设中合作加盟的作用wordpress多个函数文件路径
  • 怎样做易支付网站做的好的手机网站
  • 网站分为哪些部分组成部分网站出售
  • 可以在公司局域网做网站吗企业管理系统oa
  • 免费下载精神文明建设宣传网站自己搭建网站要钱吗
  • 怎么制作移动端网站做企业网站对企业的好处
  • 网站开发过程记录册网站建设有关图片
  • 大学网站 作风建设专题濮阳百度推广
  • 企业网站开发建设网络营销公司策划方案
  • 0元购怎么在网站做做app的公司有哪些
  • 申请域名哪个网站好东光县建设局网站
  • 企业网站建立的失败案例做网站是通过怎么挣钱
  • 网站更换备案号网站产品推广
  • 广州市白云区网站建设监控网站模板下载
  • 天水市秦州区作风建设年网站爱站小工具计算器
  • 丰都网站建设费用个人网站设计怎么做
  • 小企业网站模板职业技能培训机构
  • 网站网站开发手机版wordpress怎样用
  • 做音乐的网站企业宣传片策划方案
  • 主流大型网站开发语言调查网站图片怎样做seo优化
  • 网站开发要花费多少钱wordpress 下载插件xydown
  • 便宜的seo官网优化泰安短视频seo
  • 做网站找哪个公司wordpress密码文章插件
  • 福建省住房和建设网站企业微信营销管理软件
  • 安徽商城网站建设xydown wordpress
  • 百度网站官网入口WordPress的目录大纲
  • 网站备案主体负责人网站做优化一般几个字
  • 企业建设项目哪个网站可以查凡科建设网站
  • 国外公司在国内建网站提供做网站企业