在一次系统优化中,意外发现一个比较“坑”的SQL,拿出来供大家分享。 生成演示数据: 执行查询: 上面查询虽然列column_id上有索引,但由于该列的选择性不高,查询优化引擎根据预估行数生成“使用表扫描”的执行计划: 针对此测试环境,表扫描的确是最优的查询方式 ...
事件起因:开发发现有表插入数据失败,查看后发现INT类型自增值已经到了最大值,无法继续插入,需要修改INT类型为BIGINT类型。 作为一群自认为还算有点经验的老DBA,大家相互商量下,决定删除复制,然后禁止访问,删除索引,再使用ALTER TABLE修改,最后再加回索引,再修改访问,再不初始化订阅,多完美的步骤。 于是在一群人嘻哈围观中,执行了上述步骤,运行修改脚本: 然后大家开始预估执行时间 ...
2014-07-15 02:29 10 5355 推荐指数:
在一次系统优化中,意外发现一个比较“坑”的SQL,拿出来供大家分享。 生成演示数据: 执行查询: 上面查询虽然列column_id上有索引,但由于该列的选择性不高,查询优化引擎根据预估行数生成“使用表扫描”的执行计划: 针对此测试环境,表扫描的确是最优的查询方式 ...
HASH,百度百科上做如下定义: Hash,一般翻译做“散列”,也有直接音译为“哈希”的,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散 ...
场景介绍: 我们有一张表,专门用来生成自增ID供业务使用,表结构如下: 每次业务想要获取一个新ID,就执行以下SQL: 由于这些数据只需保留最近一天的数据,因此建立一个SQL作业来定期删除数据,删除脚本很简单: 作业每10秒运行一次,每天运行 ...
值班期间研发同事打来电话,说应用有超时,上服务器上检查发现有SQL大批量地执行,该SQL消耗IO资源较多,导致服务器存在IO瓶颈,细看SQL,发现自己都被整蒙了,不知道这SQL是要干啥,处理完问题赶紧 ...
今天使用SQLCMD导入到SQL SERVER数据库中,看着数据文件都成功执行,但是意外发现有一个文件数据没有成功导入,但执行不报错,很容易导致问题被忽略。 使用存在问题的文件做下测试,从界面上看几行脚本没有任何问题: 4条INSERT语句“几乎”一样,区别在于最上面三行的部分 ...
--===================================================================== 部分朋友在遇到收缩数据库文件的时候遇到一些困难,发现明 ...
经常需要手动增加、删除、修改mysql表的字段类型,可以参考下面的例子: 增加多个字段: 删除多个字段: 修改字段: ...
1、数据库的概念 数据库(DataBase,DB)是一个长期存储在计算机内的、有组织的、有共享的、统一管理的数据集合。她是一个按数据结构来存储和管理数据的计算机软件系统。数据库的概念实际包括两层意思 ...