Mysql
文章平均质量分 51
咕咕咕zhou
这个作者很懒,什么都没留下…
展开
-
mysql批量替换某个字段内容
mysql批量替换某个字段内容原创 2022-11-21 10:46:41 · 3891 阅读 · 0 评论 -
mysql何时进行分表分库?
为何要对Mysql进行分表分库单表性能不足以支撑业务场景.存储空间不足.单库单表在记录达到一定程度时性能会极速下降.服务可靠性.除了第3点,其他都比较好理解.为何记录数多会导致单表性能下降此处以Mysql的InnoDB引擎的基础上讲解.InnoDB的索引采用B+Tree,结构如下:非叶子节点不存放数据,数据只存放与叶子节点.这种结构的查询速度稳定,IO次数在树干能被完全加载到内存时,只需要1次,性能非常好.但性能问题也出现在此处.如果Mysql服务的内存不足以完全加载树干(非叶原创 2021-06-26 23:26:37 · 187 阅读 · 0 评论 -
Mysql转移表
问题描述在日常运维中,会需要将表转移,包括不限于的原因:原表碎片率过高影响插入查询性能;数据量过大(行数太多);修改表结构但原表太大,想减少影响;操作步骤因此可能需要通过中间表先修改好结构;将原表数据倒入;修改表名替换原表;再2,3步之间插入但数据导入到新表;以 app_home_productlist_view表为例子:# 创建新表CREATE TABLE app_home_productlist_view_2 like app_home_productlist_view;#原创 2020-09-07 15:50:47 · 128 阅读 · 0 评论 -
Mysql InnoDB 出现 Waiting for table metadata lock
问题描述今日新版代码上线,需要对数据表修改,新增一列。虽然存在很多加锁事务,但是表并不大,占用空间和行数如下:因此没有考虑其他措施,决定直接通过DDL (ALTER TABLE xxx ADD COLUMN …)进行在线改表。然后就盯着ALTER但sql但执行时间一直增加,直到超过60秒,开始感觉事情有些蹊跷。按照过往经验,15w行的数据量,增加小字段是很快的,10秒足以。show PROCESSLIST;查看正在执行的会话,发现有很多state为Waiting for table met原创 2020-08-31 11:30:12 · 460 阅读 · 0 评论