暂无图片
陈刚 — 高级项目经理
获得MySQL OCP证书,擅长SQL开发、性能优化。
chengang
暂无图片
擅长领域: sql servermysql数据库
2021-03-26 加入墨天轮
暂无图片
暂无图片
chengang
读书到青云
关注TA
写留言
98
文章
163
粉丝
112K+
浏览量
个人成就
发布102次内容
获得892次点赞
内容获得229次评论
获得294次收藏
回答了566次问答
TA的专栏
MySQL生产实战优化
收录15篇内容
有意思的SQL
收录13篇内容
MySQL事务
收录2篇内容
文章分类
墨力计划
(77)
mysql
(62)
sql server
(8)
性能优化
(8)
sql
(6)
开窗函数
(4)
数据库
(4)
mysql优化
(2)
mysql性能优化
(2)
故障处理
(2)
sql开发
(2)
高阶sql
(2)
展开
文章档案
2025年03月
(1)
2025年02月
(1)
2025年01月
(2)
2024年12月
(1)
2024年10月
(2)
2024年08月
(1)
2024年04月
(1)
2024年03月
(7)
展开
最新评论
MySQL生产实战优化(利用Index skip scan优化性能提升257倍)
MySQL生产实战优化(利用Index skip scan优化性能提升257倍)
-张静懿
一个不可思议的SQL优化过程及扩展几个需掌握的几个知识点
通过看执行计划,此SQL1能得到很好的性能提升,并不是合并了派生表,而是因为合并了派生表,刚好按语义消除了全表扫描。走了索引扫描且索引覆盖
-星星之火
MySQL生产堵塞严重,定位堵塞源头
使用Oracle数据库资源管理器创建多租户容器数据库计划(CDB计划)时,在可竞争的可插入数据库之间可以优先考虑哪三种资源?(选择三个)
-星星之火
小心这种写法真会删库跑路,你的工资怕不够赔!!!(二)
小心这种写法真会删库跑路,你的工资怕不够赔
-lianR
动态
文章 ·98
数说 ·168
问答 ·571
文档 ·4
课程 ·0
视频 ·0
活动 ·0
关注
留言板·15
MySQL生产实战优化(利用Index skip scan优化性能提升257倍)
背景我们生产环境均采用单表多租户设计模式,即一个表中存有多个租户数据,在实际的业务中每个租户的数据是隔离的,即A租户不可能访问到B租户数据,假设租户ID的字段为profileid,我们每个索引都会将p
发布文章
2025-03-17
python+cline+deepseek+(deepseek-reasoner/deepseek-chat大模型)自动化编程
近段时间DeepSeek大火,我也尝试了一下利用deepseek自动化编程1、环境准备a.安装VSCodeb.安装python插件c.安装cline插件2、获取DeepSeek API Key进入De
发布文章
2025-02-07
mysql里面有表值函数吗?
https://www.modb.pro/db/1877239703368380416用一个小技巧可以让MySQL达到表值函数的功能。
提交回复
2025-01-09
MySQL 利用JSON可以创建表值函数
1、表值函数很久以前用了几年SQL Server,SQL_Server的用户自定函数支持返回一个结果集,被称为表值函数,很遗憾,MySQL没有表值函数一说,函数也不能返回结果集。2、利用Josn及js
发布文章
2025-01-09
MySQL derived_merge优化的bug 导致查询结果不正确 【官方已确认Bug】
1、重现问题当派生表中含有非确定性函数时,MySQL的自动做的派生表合并,将导致查询的结果不及预期请看下面SQLwith a as ( select sysdate() as val from (va
发布文章
2025-01-08
一个不可思议的SQL优化过程及扩展几个需掌握的几个知识点
1、问题复现昨天在微信群里有人发了一个问题,觉得不可思议,认为是MySQL的Bug,但随后题主贴出执行计划,一看执行计划就知晓问题点了,但我觉得此问题可以扩展几个重要的知识点,我用我的本地数据做了复现
发布文章
2024-12-18
MySQL RC模式下奇怪的行锁探讨
1、问题复现构造模拟数据#模拟数据: DROP TABLE IF EXISTS T1; CREATE TABLE `t1` ( `id` int NOT NULL, `update_time` dat
发布文章
2024-10-16
小心这种写法真会删库跑路,你的工资怕不够赔!!!(二)
1、问题发现今天收到研发反馈,生产环境中一个UPDATE语句工作不正常。问题大概是这样的update t1 inner join t2 on t1.id = t2.id set t1.col1 = t
发布文章
2024-10-14
请教各位老大innodb buffer pool查询问题
Innodb_buffer_pool_pages_flushedThe number of requests to flush pages from the InnoDB buffer pool.官网介绍阿里云有一篇文章也写得很好https://developer.aliyun.com/article/1230109
提交回复
2024-09-26
buffer pool大小是启动后,就立马分配出来的,还是后来随交易需要,慢慢长上来的?
大小是在启动时就分配好的。但数据是运行过程中不断加载到内存中的,这个就是为什么数据库重启后的冷数据加载期间,性能是要受影响的。
提交回复
2024-09-26
降序索引,5.7是不是不支持呢?
不支持。官方有明确的说明A key_part specification can end with ASC or DESC. These keywords are permitted for future extensions for specifying ascending or descending index value storage. Currently, they are parsed
提交回复
2024-09-25
请问各位大佬mysql如何绑定执行计划?
MySQL 有丰富的hint功能。可以指定走某个索引,固定关联顺序等等。利用hint可以使MySQL走你想走的计划
提交回复
2024-09-24
rc下神奇的锁等待 mysql 8.0
原因很简单。 type_id是没有索引的那么mysql 会对扫描的行加锁。RC与RR的区别是 RC会释放不符合条件的行。
提交回复
2024-09-24
小心这种写法真会删库跑路,你的工资怕不够赔!!!(一)
1、问题发现今天收到一朋友反馈,发现执行一个存储过程后,整个表数据都没有了。我让朋友把存储过程发过来我查一下,结果存储过程好长好几百行,短时间没有发现原因,结果朋友自己从应用层的日志发现了问题。2、问
发布文章
2024-08-29
rc下,单独执行每个只有1个行锁,为啥2个会话会发生锁等待?
因为没有索引,RC是扫描后放弃掉不符合要求退化为行锁。当还没有退化的时候,就已拿不到锁了。所以就会堵塞。
提交回复
2024-06-26
4月懈怠了,和3月比区别很大。
发布数说
2024-04-23
求一个mysq数据库rename方式l删除大表的标准操作流程
CREATE TABLE new_table_name LIKE your_table_name; INSERT INTO new_table_name SELECT * FROM your_table_name WHERE NOT your_condition; DROP TABLE your_table_name; RENAME TABLE new_table_name TO your_tab
提交回复
2024-04-17
sql问题
B、存储过程成功调用,T1表数据被删除。原因是子查询是可以引用外表的列的。因为你的 name没有指定表名。所以name其实是 T1表的name
提交回复
2024-04-10
小心MySQL这个配置可能会让你事务部份提交!!
1、官方定义innodb_rollback_on_timeoutInnoDB rolls back only the last statement on a transaction timeout b
发布文章
2024-04-09
一条极简SQL实现九九乘法表
用一条极简单的SQL生成上图所示的九九乘法表with recursive cte as ( select 1 as i union all select i+1 as i from cte where
发布文章
2024-03-25
MySQL 关联查询执行计划问题
MySQL总是会选小表当驱动表 不加isVideo 条件 p表当然是小表。加了isVideo条件,MySQL认为过滤性很好,从执行计划的filtered = 0.05 可以推算出 MySQL评估认为 最终只有 8930 *0.05 = 446.50行参与最终的JOin 题主可以用condition_fanout_filter参数验证,这里贴了我的一篇文章 可以看看https://www.modb.
提交回复
2024-03-23
有意思的SQL(四)
1、需求有如下表需求是按照一定规则对id进行分组需求规则:以ID从小到大依次分组。当累计num字段合计>=1000时就新成立一个组,剩下的单独成一组按照需求分组该这样id = 1 num = 1023
发布文章
2024-03-20
SQL Server id>2147483647查询超时
应该是转换溢出,变成了其它数值了。
提交回复
2024-03-20
小白学MySQL
小白学MySQL
发布合辑
2024-03-18
进步,而非完美
发布数说
2024-03-16
发现问题,解决问题,踩坑成长
发布数说
2024-03-14
在特定的业务场景下,你刚开始的SQL可能就需要加force index
今天在生产环境上遇到一个SQL 明明join表的关联字段上有索引,MySQL就是不走,则于版本又是8.0.13之前的版本。没有hash join 只能走BNL 让整个SQL奇慢无比执行计划是这样的执行
发布文章
2024-03-14
数据库设计(MySQL)避坑指南
总结数据库设计中遇到的几个大坑
发布文章
2024-03-13
MySQL忘记登陆密码重置方法(windows)
刚装的MySQL 忘记了登陆密码1、先停掉服务net stop mysql80我的MySQL安装服务名为mysql80你可以在windows服务中查看你自己的服务名2、用mysqld 带 --skip
发布文章
2024-03-12
Everything goes well
发布数说
2024-03-08
MySQL导入N种实现方式
导入数据的语句set character_set_client = utf8; use sakila; drop table stt; create table stt ( id int not nu
发布文章
2024-03-06
MySQL数据类型存储空间占用--字符串
先上一张官方文档的截图看起来很复杂,实际还是较简单的用W来表示1个字符在字符集下的最大占用比如:utf8为3,utf8mb4就为4char(M) 所占的空间就是 M*W 字节varchar(M) 占用
发布文章
2024-03-01
mysql如何跟踪ddl语句实际是如何执行的?
https://dev.mysql.com/doc/refman/8.0/en/alter-table.htmlmysql DDL有三种方式。 COPY,INPLACE,INSTANT第一种就如你上面举列的是复制表。第二,与第三种表 都是原地DDL,只是第三种更快,不加锁只在数据字典中增加信息。
提交回复
2024-02-18
MySQL基础
MySQL基础理论
发布合辑
2024-02-06
MySQL数据类型存储空间占用--日期型
1、日期型存储空间占用官方文档对日期型存储空间占用分成了两个部分来说明,5.6.4以前和5.6.4以后,因为5.6.4是很久的版本了,所以我后面基于5.6.4以后的版本来说明带上取值范围整理了一份表格
发布文章
2024-02-06
站好最后四天的岗! 加油!!!
发布数说
2024-02-04
MySQL数据类型存储空间占用--数值型
1、数值型存储空间占用我整理了一下带上范围,附下表decimal类型的空间占用算法有复杂。我看官方文档先没有看懂,后面不断实践,总结出来了。我这里先贴一下官方原文档要算decimal(M,D) 占多大
发布文章
2024-02-01