本人负责的项目主要采用阿里云数据库 MySQL,最近频繁出现慢 SQL 告警,执行时间最长的竟然高达 5 分钟。 图片来自 Pexels 导出日志后分析,主要原因竟然是没有命中索引和没有分页处理。其实这是非常低级的错误,我不禁后背一凉,团队成员的技术水平亟待提高啊。 改造这些 SQL 的过程中,总结了一些经验分享给大家,如果有错误欢迎批评指正。 MySQL 性能 ①最大数据量 抛开数据量和并发数,谈性能都是耍流氓。MySQL 没有限制
回表的概念 先得出结论,根据下面的实验。如果我要获得[‘liu’,’25’]这条记录。需要什么步骤。 1.先通过[‘liu’]记录对应到普通索引index(name),获取到主键id:4. 2.再通过clustered index,定位到行记录。也就是上面说的这条[‘liu’,’25’]记录数据。 因此,上述就是
近日 Redis 6.0.0 GA 版本发布,这是 Redis 历史上最大的一次版本更新,包括了客户端缓存 (Client side caching)、ACL、Threaded I/O 和 Redis Cluster Proxy 等诸多更新。 我们今天就依次聊一下客户端缓存的必要性、具体使用、原理分析和实现。 为什么需要客户端缓存 我们都知道,使用 Redis 进行数据的缓存主要目的是减少对 MySQL 等数据库的访问,提供更快的访问速度
1、大批量插入数据优化 (1)对于MyISAM存储引擎的表,可以使用:DISABLE KEYS 和 ENABLE KEYS 用来打开或者关闭 MyISAM 表非唯一索引的更新。 ALTERTABLEtbl_nameDISABLEKEYS; loadingthedata ALTERTABLEtbl_nameENABLEKEYS; (2)对于InnoDB引擎,有以下几种优化措施: ① 导入的数据按照主键的顺序保存:这是因为InnoDB引
回忆一下查询成本 对于一个查询来说,有时候可以通过不同的索引或者全表扫描来执行它,MySQL优化器会通过事先生成的统计数据,或者少量访问B+树索引的方式来分析使用各个索引时都需要扫描多少条记录,然后计算使用不同索引的查询成本,最后选择成本最低的那个来执行查询。 小贴士:我们之前称那种通过少量访问B+树索引来分析需要扫描的记录数量的方式称为index dive,不知道大家还有没有印象。 一个很简单的思想就是:使用某个索引执行查询时,需要扫
一、背景 MySQL 8.0是当前Oracle公司一直在大力宣传的新版本,从架构到性能均有显著变化,同时,随着kubernetes的普及,为更好的提升资源利用率,可以进行MySQL上云的探索。MySQL上云如何进行运行状态的监控呢?MySQL运行状态监控需要满足:监控数据实时准备,报警机制响应迅速,支持异地集中监控。本文将探索云上MySQL的监控方案。 二、方案对比 方案一: Zabbix监控系统,基于c+php开发的开源监控系统,支
什么是降序索引 大家可能对索引比较熟悉,而对降序索引比较陌生,事实上降序索引是索引的子集。 我们通常使用下面的语句来创建一个索引: createindexidx_t1_bcdont1(b,c,d); 上面sql的意思是在t1表中,针对b,c,d三个字段创建一个联合索引。 但是大家不知道的是,上面这个sql实际上和下面的这个sql是等价的: createindexidx_t1_bcdont1(basc,casc,dasc); asc表示
背景 一个平台或系统随着时间的推移和用户量的增多,数据库操作往往会变慢;而在Java应用开发中数据库更是尤为重要,绝大多数情况下数据库的性能决定了程序的性能,如若前期埋下的坑越多到后期数据库就会成为整个系统的瓶颈;因此,更规范化的使用MySQL在开发中是不可或缺的。 一、MySQL数据库命名规范 数据库所有表前缀均使用项目名称首字母缩写; 数据库所有对象名称均使用小写字母,并且单词之间通过下划线分开; 数据库所有对象名称禁止使用M
如果你研究到库存系统的开发问题时,你就会从这里出发考虑了一些有关库存信息中需要的操作和,一般的情况下会遇到的MySQL事务处理问题。特别是关于数据表锁定问题,一旦出现并发现象的时候,我们如何保证数据的完整性,值得我们考虑。 事务操作,要保证的三个原则性: 原子性(Atomicity):事务是一个原子操作单元,其对数据的修改,要么全部执行,要么全都不执行; 一致性(Consistent):在事务开始和完成时,数据都必须保持一致状态; 隔离性
以下的文章主要介绍的是MySQL中文乱码的解决,MySQL中文乱码在实际的应用中是经常出现,导致实际的运行中产生很多的不便,以下的文章就是介绍MySQL中文乱码的解决方案。望你能有所收获。 原来常常在群里看到MySQL的乱码问题,但是由于本人一直在用oracle和sql server所以没多在乎,昨天用了用MySQL结果就遇到了传说中的乱码…..。现在我们来讲讲MySQL的乱码问题。首先你进入的你MySQL 用show va
数据库技术 2022-03-28
网站技术 2022-11-26
网站技术 2023-01-07
网站技术 2022-11-17
Windows相关 2022-02-23
网站技术 2023-01-14
Windows相关 2022-02-16
Windows相关 2022-02-16
Linux相关 2022-02-27
数据库技术 2022-02-20
抠敌 2023年10月23日
嚼餐 2023年10月23日
男忌 2023年10月22日
瓮仆 2023年10月22日
簿偌 2023年10月22日
扫码二维码
获取最新动态