原文:曲演杂坛--使用ALTER TABLE修改字段类型的吐血教训

事件起因:开发发现有表插入数据失败,查看后发现INT类型自增值已经到了最大值,无法继续插入,需要修改INT类型为BIGINT类型。 作为一群自认为还算有点经验的老DBA,大家相互商量下,决定删除复制,然后禁止访问,删除索引,再使用ALTER TABLE修改,最后再加回索引,再修改访问,再不初始化订阅,多完美的步骤。 于是在一群人嘻哈围观中,执行了上述步骤,运行修改脚本: 然后大家开始预估执行时间 ...

2014-07-15 02:29 10 5355 推荐指数:

查看详情

--使用CTE时踩的小坑:No Join Predicate

在一次系统优化中,意外发现一个比较“坑”的SQL,拿出来供大家分享。 生成演示数据: 执行查询: 上面查询虽然列column_id上有索引,但由于该列的选择性不高,查询优化引擎根据预估行数生成“使用表扫描”的执行计划: 针对此测试环境,表扫描的确是最优的查询方式 ...

Fri Dec 18 01:41:00 CST 2015 11 752
--HASH的一点理解

HASH,百度百科上做如下定义: Hash,一般翻译做“散列”,也有直接音译为“哈希”的,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散 ...

Tue Jun 10 23:25:00 CST 2014 10 715
--一条DELETE引发的思考

场景介绍: 我们有一张表,专门用来生成自增ID供业务使用,表结构如下: 每次业务想要获取一个新ID,就执行以下SQL: 由于这些数据只需保留最近一天的数据,因此建立一个SQL作业来定期删除数据,删除脚本很简单: 作业每10秒运行一次,每天运行 ...

Sun Nov 02 00:13:00 CST 2014 6 1392
--当ROW_NUMBER遇到TOP

值班期间研发同事打来电话,说应用有超时,上服务器上检查发现有SQL大批量地执行,该SQL消耗IO资源较多,导致服务器存在IO瓶颈,细看SQL,发现自己都被整蒙了,不知道这SQL是要干啥,处理完问题赶紧 ...

Sun Dec 06 00:52:00 CST 2015 8 389
--SQLCMD下执行命令失败但没有任何错误提示的坑

今天使用SQLCMD导入到SQL SERVER数据库中,看着数据文件都成功执行,但是意外发现有一个文件数据没有成功导入,但执行不报错,很容易导致问题被忽略。 使用存在问题的文件做下测试,从界面上看几行脚本没有任何问题: 4条INSERT语句“几乎”一样,区别在于最上面三行的部分 ...

Wed Jan 11 06:36:00 CST 2017 2 1376
--收缩数据库数据文件

--===================================================================== 部分朋友在遇到收缩数据库文件的时候遇到一些困难,发现明 ...

Sat Jun 07 04:35:00 CST 2014 8 765
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM