6 热度

ProxySQL 2.0.6 发布,MySQL 高性能代理

ProxySQL 是一个高性能的代理,目前用于 MySQL生 态系统中的 MySQL 和数据库服务器(比如用于 MySQL 和 MariaDB 的 Percona Server),它充当从数据库中寻找资源的客户端请求的中介。2.0.6 版本已经发布,它引入了许多新特性和增强功能,并修复了一些 bug,自从上一个版本以来,proxysql-admin 工具没有改变。

收录时间: 2019-08-25
分类: MySQL
贡献者: Rector
105 热度

微服务架构之幂等性问题及设计思想,你不得不知的一些幂等方案

小伙伴们有没有遇到过生产环境经常出现过重复的数据?在排查问题的时候,数据又是正常的。这个是何解呢?怎么会出现这种情况,而且还很难排查问题。今天我给大家分享一下这里的原因,以及解决方案。

收录时间: 2019-07-05
分类: MySQL
贡献者: Rector
76 热度

浅析MYSQL MDL锁

MySQL为了保护数据字典元数据,使用了metadata lock,即MDL锁,保证在并发的情况下,结构变更的一致性。本文基于spider3.x(MySQL5.7)从代码实现角度分析了常用SQL语句的MDL加锁实现。

收录时间: 2019-07-01
分类: MySQL
贡献者: Rector
104 热度

MySQL主从数据库同步延迟问题解决

MySQL的主从同步是一个很成熟的架构,优点为:①在从服务器可以执行查询工作(即我们常说的读功能),降低主服务器压力;②在从主服务器进行备份,避免备份期间影响主服务器服务;③当主服务器出现问题时,可以切换到从服务器。相信大家对于这些好处已经非常了解了,在项目的部署中也采用这种方案。但是MySQL的主从同步一直有从库延迟的问题,那么为什么会有这种问题。这种问题如何解决呢?MySQL数据库主从同步延迟原理。MySQL数据库主从同步延迟是怎么产生的。MySQL数据库主从同步延迟解决方案。1. MySQL数据库主从同步延迟原理。答:谈到MySQL数据库主从同步延迟原理,得从mysql的数据库主从复制原...

收录时间: 2019-06-06
分类: MySQL
贡献者: Rector
96 热度

层次查询SQL性能故障不断?给你份可靠的避坑指南!

近期频频遇到层次查询SQL的性能问题,结合历史故障案例,汇总了一些场景connect by常见的性能故障类型,在本文中做个分享。一、结果中过滤or生成树中过滤过滤条件放置于where后,为在结果树生成完成后裁剪叶子节点;放置于connect by后,为在生成树的过程中裁剪子树。频繁发生的现象是业务逻辑上其实并不需要先生成结果树再去过滤,由于开发人员对过滤条件放置于不同的位置(where 后,connect by后)产生的过滤效果混淆,导致了低效的性能。下面这个SQL就是典型案例。用户反馈,zzzz.SYS_RC_ROUTE_DETAIL表上生产环境就3000+条数据,但SQL语句运行时却跑不...

收录时间: 2019-06-06
分类: MySQL
贡献者: Rector
89 热度

MySQL 索引的原理与应用:索引类型,存储结构与锁

本文节选自 MySQL 引擎架构与性能优化 https://url.wx-coder.cn/IF5HH,参考文档声明在 Awesome MySQL List https://parg.co/htL。MySQL 索引的原理与应用:索引类型,存储结构与锁在数据结构与算法--索引 https://url.wx-coder.cn/O07eI一节中,我们讨论了 B+Tree, LSM-Tree 这样的文件索引以及全文索引的基础算法,本文则会针对文件索引在关系型数据库中的实际应用进行探讨。索引(Index)是帮助数据库系统高效获取数据的数据结构,而数据库索引本质上是以增加额外的写操作,与用于维护索引数据结...

收录时间: 2019-06-03
分类: MySQL
贡献者: Rector
AD 友情赞助
127 热度

如何在Ubuntu 18.04上为MySQL配置SSL/TLS

MySQL是世界上最流行的开源关系数据库管理系统。 虽然现代包管理器已经减少了启动和运行MySQL的一些摩擦,但是在安装它之后还应该执行一些进一步的配置。 花费一些额外时间的最重要方面之一是安全性。 默认情况下,MySQL配置为仅接受本地连接,或者来自安装MySQL的同一台机器的连接。 如果您需要从远程位置访问MySQL数据库,那么安全地执行此操作非常重要。 在本指南中,我们将演示如何在Ubuntu 18.04上配置MySQL以接受使用SSL/TLS加密的远程连接。

收录时间: 2019-05-22
分类: MySQL
贡献者: Rector
227 热度

通过MySQL存储原理来分析排序和锁

内核小王子先抛出几个问题1.为什么不建议使用订单号作为主键?2.为什么要在需要排序的字段上加索引?3.for update 的记录不存在会导致锁住全表?4.redolog 和 binlog 有什么区别?5.MySQL 如何回滚一条 sql ?6.char(50) 和 varchar(50) 效果是一样的么?索引知识回顾对于 ...

收录时间: 2019-04-15
分类: MySQL
贡献者: Rector
168 热度

简单的聊聊索引的那些事儿

工作经历中,随着业务数据长时间积累,Mysql的数据也稍微有一定的量,于是乎当时我们进行一次服务端慢查询大排查,确定慢查询属于哪个工程并且将其优化掉。我工程内也有一个,大体是MQ订阅到的taskid,taskid关联task的log表去找最近的一条记录的时间,然后根据时间校验是否放行做相应业务处理。我explain下,发现当时写的时候,log表的taskid也没有建索引,当log表的记录积累起来后,这个查询会显得很慢,建索引后有立竿见影的效果,当然这只是一个非常简单的场景。其实这里还衍生出一个问题:当log表数据量过大时候修改表结构,会造成一段时间的锁表。虽然有些方式可以避免锁表,但是“合理时机”创建索引还是很重要的。知其然,要知其所以然,来看看索引的那些事儿。

收录时间: 2019-02-21
分类: MySQL
贡献者: Rector
175 热度

MySQL探秘(三):InnoDB的内存结构和特性

常言说得好,每个成功男人背后都有一个为他默默付出的女人,而对于MySQL来说,这个“人”就是InnoDB存储引擎。 MySQL区别于其他数据库的最为重要的特点就是其插件式的表存储引擎。而在众多存储引擎中,InnoDB是最为常用的存储引擎。从MySQL5.5.8版本开始,InnoDB存储引擎是默认的存储引擎。 InnoDB存储引擎支持事务,其设计目标主要面向在线事务处理(OLTP)的应用。其...

收录时间: 2019-02-18
分类: MySQL
贡献者: Rector
239 热度

MySQL 索引及查询优化总结 - 腾讯云技术社区 - SegmentFault 思否

MySQL查询分析》讲述了使用MySQL慢查询和explain命令来定位mysql性能瓶颈的方法,定位出性能瓶颈的sql语句后,则需要对低效的sql语句进行优化。本文主要讨论MySQL索引原理及常用的sql查询优化。一个简单的对比测试前面的案例中,c2c_zwdb.t_file_count表只有一个自增id,FFileName字段未加索引的sql执行情况如下:在...

收录时间: 2019-01-03
分类: MySQL
贡献者: Rector
264 热度

新说MySQL事务隔离级别!

引言大家在面试中一定碰到过说说事务的隔离级别吧?老实说,事务隔离级别这个问题,无论是校招还是社招,面试官都爱问!然而目前网上很多文章,说句实在话啊,我看了后我都怀疑作者弄懂没!因为他们对可重复读(Repeatable Read)和串行化(serializable)的解析实在是看的我一头雾水!再加上很多书都说可重复读解决了幻读问题,比如《mysql技术内幕--innodb存储引擎》等,不...

收录时间: 2018-12-20
分类: MySQL
贡献者: Rector
346 热度

这 10 个 MySQL 经典错误,遇到过才是老司机!

今天就给大家列举 MySQL 数据库中,最经典的十大错误案例,并附有处理问题的解决思路和方法,希望能给刚入行,或数据库爱好者一些帮助。今后再遇到任何报错,我们都可以很淡定地去处理。学习任何一门技术的同时,其实就是自我修炼的过程。沉下心,尝试去拥抱数据的世界!Top 1:Too many connections(连接数过多,导致连接不上数据库,业务无法正常进行)问题还原mysql...

收录时间: 2018-11-18
分类: MySQL
贡献者: Rector
519 热度

来,看看MySQL 5.6, 5.7, 8.0的新特性

对于MySQL的历史,相信很多人早已耳熟能详,这里就不要赘述。下面仅从产品特性的角度梳理其发展过程中的里程碑事件。1995年,MySQL 1.0发布,仅供内部使用。1996年,MySQL 3.11.1发布,直接跳过了MySQL 2.x版本。1999年,MySQL AB公司成立。同年,发布MySQL 3.23,该版本集成了Berkeley DB存储引擎。该引擎由Sleepycat公司开发...

收录时间: 2018-10-18
分类: MySQL
贡献者: Rector
426 热度

MySQL命令,一篇文章替你全部搞定

MySQL的基本操作可以包括两个方面:MySQL常用语句如高频率使用的增删改查(CRUD)语句和MySQL高级功能,如存储过程,触发器,事务处理等。而这两个方面又可以细分如下:MySQL常用语句表(或者数据库)的CRUD表数据的CRUD,其中表数据查询使用最多,也更复杂。查询可以按照单表还是多表可以分为:单表SELECT查询和多表的联结查询(INNER JOIN, LEFT JOI...

收录时间: 2018-09-30
分类: MySQL
贡献者: Rector
AD 友情赞助
470 热度

MySQL大数据量分页查询方法及其优化

方法1: 直接使用数据库提供的SQL语句语句样式: MySQL中,可用如下方法: SELECT * FROM 表名称 LIMIT M,N适应场景: 适用于数据量较少的情况(元组百/千级)原因/缺点: 全表扫描,速度会很慢 且 有的数据库结果集返回不稳定(如某次返回1,2,3,另外的一次返回2,1,3). Limit限制的是从结果集的M位置处取出N条输出,其余抛弃.方法2: 建立主键或唯一索引,...

收录时间: 2018-09-07
分类: MySQL
贡献者: Rector
356 热度

MySQL 8.0.12 有什么新内容?

时隔三个月,MySQL 8.0.12 有什么新内容?引言今年4月份,MySQL突然直接从8.0.5跳过多个版本号到8.0.11,直接宣布8.0.11 GA,告诉大家说,这个版本已经可以到线上用了。到今年7月底,MySQL 8.0.12版本发布,我从官方的release note里面,选取出来我认为的重点内容,在这里展开聊一下。如果有想要看...

收录时间: 2018-08-31
分类: MySQL
贡献者: Rector
415 热度

连mysql锁的机制都不了解,怎么做架构师

数据库锁定机制简单来说就是数据库为了保证数据的一致性而使各种共享资源在被并发访问变得有序所设计的一种规则;对于任何一种数据库来说都需要有相应的锁定机制,Mysql也不例外。 一般来说,事务是必须满足4个条件(ACID):原子性(Atomicity,或称不可分割性)、一致性(Consistency)、隔离性(Isolation,又称独立性)、持久性(Durability)。

收录时间: 2018-08-30
分类: MySQL
贡献者: Rector
418 热度

Innodb中MySQL如何快速删除2T的大表

小漫画来,先来看小漫画陶冶一下情操OK,这里就说了。假设,你有一个表erp,如果你直接进行下面的命令drop table erp 这个时候所有的mysql的相关进程都会停止,直到drop结束,mysql才会恢复执行。出现这个情况的原因就是因为,在drop table的时候,innodb维护了一个全局锁,drop完毕锁就释放了。这意味着,如果在白天,访问量非常大的时候,如果你在不做任...

收录时间: 2018-08-30
分类: MySQL
贡献者: Rector
401 热度

Mysql系列七:分库分表技术难题之分布式全局唯一id解决方案

一、前言在前面的文章Mysql系列四:数据库分库分表基础理论中,已经说过分库分表需要应对的技术难题有如下几个:1. 分布式全局唯一id2. 分片规则和策略3. 跨分片技术问题4. 跨分片事物问题下面我们来看一下Mycat是如何解决分布式全局唯一id的问题的二、Mycat全局序列号Mycat保证id唯一的方式有如下几个:1)本地文件方式2)数据库方式3)时间戳方式...

收录时间: 2018-08-27
分类: MySQL
贡献者: Rector
AD 友情赞助