随笔分类 -  SQL Server--曲演杂坛

存放各种杂乱
UPDATE语句中SET部分列赋值的先后顺序有影响么?
摘要:昨天研发同事问我个问题,UPDATE语句中SET部分列赋值的先后顺序会影响结果么?以前没考虑过这个问题,因为通常我们都会UPDATE时给列赋予一个确定的值,而不是一个依赖于其他列的值。 测试环境: 更新语句为: 首先在SQL Server 2012上进行,更新后数据为: 在MySQL 5.6.26上 阅读全文

posted @ 2017-03-31 14:20 笑东风 阅读(1645) 评论(4) 推荐(1) 编辑

SQL Server--获取磁盘空间使用情况
摘要:SQL Server 磁盘信息 阅读全文

posted @ 2017-03-22 21:06 笑东风 阅读(9158) 评论(7) 推荐(8) 编辑

曲演杂坛--SQLCMD下执行命令失败但没有任何错误提示的坑
摘要:今天使用SQLCMD导入到SQL SERVER数据库中,看着数据文件都成功执行,但是意外发现有一个文件数据没有成功导入,但执行不报错,很容易导致问题被忽略。 使用存在问题的文件做下测试,从界面上看几行脚本没有任何问题: 4条INSERT语句“几乎”一样,区别在于最上面三行的部分文字是我从问题语句中粘 阅读全文

posted @ 2017-01-10 22:36 笑东风 阅读(2099) 评论(2) 推荐(1) 编辑

曲演杂坛--特殊字符/生僻字与varchar
摘要:对于中文版的SQL SERVER,默认安装后使用的默认排序规则为Chinese_PRC_CI_AS,在此排序规则下,使用varchar类型来可以“正常存取”存放中文字符以及一些东南亚国家的字符,同时varchar类型在存放英文字符和数字时比nvarchar节省一半的存储空间,因此很多DBA都习惯使用 阅读全文

posted @ 2016-08-01 22:58 笑东风 阅读(1409) 评论(0) 推荐(0) 编辑

SQL SERVER--单回话下的死锁
摘要:很多时候,死锁由两个或多个会话请求其他Session持有的锁而同时又持有其他Session,但也有一些特殊的死锁仅由单个Session锁触发,今天看到一篇相关的文章,搬运过来与各位共享! 引发死锁的代码: 执行环境SQL SERVER 2012 (11.0.5058) 执行上面的代码后,通过Prof 阅读全文

posted @ 2016-07-05 19:57 笑东风 阅读(614) 评论(1) 推荐(0) 编辑

曲演杂坛--表变量的预估行数
摘要:在讨论临时表和表变量的区别时,其中一个重点就是两者的预估行数,在默认设置下,表变量的预估行数总是为1,而临时表的预估行数会随表中数据量的变化而变化。正是因为这个区别,在处理大数据量时往往推荐使用临时表而非表变量(当然还有索引的问题)。 科普下, 查询优化器会根据预估行数和操作运算符来预估资源消耗,根 阅读全文

posted @ 2016-06-23 21:26 笑东风 阅读(768) 评论(5) 推荐(4) 编辑

曲演杂坛--为什么SELECT语句会被其他SELECT阻塞?
摘要:很多刚入门的DBA在捕获阻塞得时候,会问这么一个问题“为什么这个SELECT语句被那个SELECT语句阻塞了,难道不是共享锁么?” 让我们来做个小测试,首先准备一些测试数据: 注意上面创建的表中RID是唯一聚集索引,因此如果我们按照RID来进行更新或查询,会加行锁。 首先开启一个事务来修改数据: 然 阅读全文

posted @ 2016-06-17 17:31 笑东风 阅读(958) 评论(1) 推荐(1) 编辑

曲演杂坛--EXISTS语句
摘要:通常在我写EXISTS语句时,我会写成IF EXISTS(SELECT TOP(1) 1 FROM XXX),也没细细考究过为什么要这么写,只是隐约认为这样写没有啥问题,那今天就深究下吧! 首先准备测试测试数据 其中需要注意下索引IDX_ID, 虽然ID已经是主键索引,但仍创建一个非聚集索引以供后续 阅读全文

posted @ 2016-06-13 15:40 笑东风 阅读(674) 评论(3) 推荐(2) 编辑

SQLSERVER--定期清理维护作业的历史记录
摘要:刚删除一个数据库时,在清理数据库备份历史记录时,执行超过近10分钟还未完成,随时查了下,吓死宝宝啦,逻辑读操作竟然高达8000万次以上! 通过UI进行删除数据库时,会默认勾选上“删除数据库备份和还原历史记录信息”,作为多年的老司机,删除数据库应该写脚本进行删除,即使使用UI删除,也应该不勾选该选项, 阅读全文

posted @ 2016-04-13 18:50 笑东风 阅读(5082) 评论(0) 推荐(0) 编辑

SQL Server使用文件组备份降低备份文件占用的存储空间
摘要:对于DBA来说,备份和刷新简历是最重要的两项工作,如果发生故障后,发现备份也不可用,那么刷新简历的重要性就显现出来,哇咔咔!当然备份是DBA最重要的事情(没有之一),在有条件的情况下,我们应该在多个服务器上保留多份完备和日志备份,甚至某些公司会要求将完备数据保留到磁带或超大存储上,以保证可以恢复很久 阅读全文

posted @ 2016-03-30 18:20 笑东风 阅读(2499) 评论(5) 推荐(4) 编辑

SQL Server 重新初始化系统数据库中的单引号问题
摘要:在最近的数据库跨机房迁移中,由于硬件的限制,需要滚动式地将数据库一台台迁移到新机房,先在新机房搭建一个新环境,将数据迁移过去,再将旧机房的机器下架搬到新机房,重新配置后用于下一轮的升级,重新配置过程中,有以下几个问题: 1:由于机房和IP已经发生变化,因此需要按照命名规则修改服务器名称。 2:原数据 阅读全文

posted @ 2016-03-29 11:14 笑东风 阅读(673) 评论(2) 推荐(0) 编辑

疑难杂症--导出对象创建脚本
摘要:朋友在折腾导出数据库对象的创建脚本时,遇到一个问题,表结构相同,但不同服务器上导出的脚本却不相同:一台服务器上的脚本如下:SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE TABLE [dbo].[testb]( [id] [varchar... 阅读全文

posted @ 2015-12-29 14:57 笑东风 阅读(761) 评论(3) 推荐(0) 编辑

曲演杂坛--使用CTE时踩的小坑:No Join Predicate
摘要:在一次系统优化中,意外发现一个比较“坑”的SQL,拿出来供大家分享。生成演示数据:--======================================--检查测试表是否存在IF(OBJECT_ID('TB2002') IS NOT NULL)BEGIN DROP TABLE TB2... 阅读全文

posted @ 2015-12-17 17:41 笑东风 阅读(1088) 评论(11) 推荐(3) 编辑

曲演杂坛--当ROW_NUMBER遇到TOP
摘要:值班期间研发同事打来电话,说应用有超时,上服务器上检查发现有SQL大批量地执行,该SQL消耗IO资源较多,导致服务器存在IO瓶颈,细看SQL,发现自己都被整蒙了,不知道这SQL是要干啥,处理完问题赶紧研究下。SQL类似于:WITH T1 AS ( SELECT TOP ( 100 ) ... 阅读全文

posted @ 2015-12-05 16:52 笑东风 阅读(569) 评论(8) 推荐(4) 编辑

曲苑杂坛--DML操作中如何处理那些未提交的数据
摘要:对数据库稍有了解的人,数据库使用排他锁X锁来避免两个事务同时修改同一条数据,同时使用较低级别如行上加锁来提高并发度。以下了两种场景很容易理解:1>事务1执行 UPDATE TB1 SET C2=1 WHERE C1=1(此处假设C1为主键,使用行锁),事务1未提交,而后事务2执行UPDATE TB1... 阅读全文

posted @ 2015-01-24 22:49 笑东风 阅读(668) 评论(6) 推荐(0) 编辑

曲演杂坛--页拆分2
摘要:在上次的曲演杂坛--页拆分中基于SQL SERVER 2008版本进行了测试,在SQL Server 2012和SQL Server 2014版本中,对页拆分进行了优化,避免了一次插入导致多次页拆分的情况。让我们在SQL Server 2014版本中来测试下:--==================... 阅读全文

posted @ 2014-11-04 18:27 笑东风 阅读(449) 评论(0) 推荐(1) 编辑

曲演杂坛--一条DELETE引发的思考
摘要:场景介绍:我们有一张表,专门用来生成自增ID供业务使用,表结构如下:CREATE TABLE TB001( ID INT IDENTITY(1,1) PRIMARY KEY, DT DATETIME)每次业务想要获取一个新ID,就执行以下SQL:INSERT INTO TB001(DT)... 阅读全文

posted @ 2014-11-01 16:13 笑东风 阅读(1664) 评论(6) 推荐(2) 编辑

曲演杂坛--Update的小测试
摘要:今天偶然想起一个UPDATE相关的小问题,正常情况下,如果我们将UPDATE改写成与之对应的SELECT语句,其SELECT查询结果应与UPDATE的目标表存在一对一的关系,例如:对于UPDATE语句:UPDATE TB1 SET C2=TB2.C2 FROM TB1 INNER JOIN TB2 ... 阅读全文

posted @ 2014-09-26 00:11 笑东风 阅读(481) 评论(7) 推荐(3) 编辑

曲演杂坛--使用TRY CATCH应该注意的一个小细节
摘要:群里一个朋友遇到一个TRY CATCH的小问题,测试后发现是自己从来没有考虑的情况,写篇blog加深下印象--=========================================================在MSDN上对TRY CATCH有如下描述:对 Transact-SQL 实... 阅读全文

posted @ 2014-09-09 16:42 笑东风 阅读(1075) 评论(5) 推荐(2) 编辑

曲演杂坛--蛋疼的ROW_NUMBER函数
摘要:使用ROW_NUMBER来分页几乎是家喻户晓的东东了,而且这东西简单易用,简直就是程序员居家必备之杀器,然而ROW_NUMBER也不是一招吃遍天下鲜的无敌BUG般存在,最近就遇到几个小问题,拿出来供大家娱乐下。---==========================================... 阅读全文

posted @ 2014-07-17 18:56 笑东风 阅读(1789) 评论(4) 推荐(5) 编辑

导航

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