中间件与数据库:MySQL
MySQL索引的B+树到底有多高?
分析页面I/O数与索引高度的关系,以及索引高度的查看方法。
携程海外MySQL数据复制实践
在携程国际化战略背景下,海外业务将成为新的发力点,为了保证用户高品质的服务体验,底层数据势必需要就近服务业务应用。一套标准且普适的数据复制解决方案能够提升业务决策效率,助力业务更快地触达目标用户。
DRC (Data Replicate Center) 作为携程内部数据库上云标准解决方案,支撑了包括但不限于即时通讯、用户账号、IBU在内的核心基础服务和国际业务顺利上云。
MySQL:max_allowed_packet 影响了什么?
max_allowed_packet 表示 MySQL Server 或者客户端接收的 packet 的最大大小,packet 即数据包,MySQL Server 和客户端上都有这个限制。
MySQL使用ReplicationConnection导致的连接失效分析与解决
MySQL数据库读写分离,是提高服务质量的常用手段之一,而对于技术方案,有很多成熟开源框架或方案,例如:sharding-jdbc、spring中的AbstractRoutingDatasource、MySQL-Router等,而mysql-jdbc中的ReplicationConnection亦可支持。本文暂不对读写分离的技术选型做过多的分析,只是探索在使用druid作为数据源、结合ReplicationConnection做读写分离时,连接失效的原因,并找到一个简单有效的解决方案。
Go 语言使用 MySQL 的常见故障分析和应对方法
很多同学在使用Go和数据库打交道的过程中,经常会遇到一些异常不知道为什么,本文从SQL连接池的原理进行分析,模拟了一些例子对异常的现象进行解读分析,并给出一些常见的应对手段,期望能帮助到大家。
数据库全量SQL分析与审计系统性能优化之旅
本文介绍了美团基础研发平台抓包方案在数据库审计实践中遇到的性能问题以及优化实践。
不要再使用MySQL online DDL了
如何更优雅的执行DDL操作,怎么避免线上踩坑,一文带你选择更合适的操作方法。
MySQL 哈希分区表
提到分区表,一般按照范围(range)来对数据拆分居多,以哈希来对数据拆分的场景相来说有一定局限性,不具备标准化。接下来我用几个示例来讲讲 MySQL 哈希分区表的使用场景以及相关改造点。
mysql查询 limit 1000,10 和limit 10 速度一样快吗?如果我要分页,我该怎么办?
同样都是拿10条数据,查第一页和第一百页的查询速度是一样的吗?为什么?
Mysql的索引为什么使用B+树而不使用跳表?
在我们的印象中,mysql数据表里无非就是存储一行行的数据。跟个excel似的。
直接遍历这一行行数据,性能就是O(n),比较慢。为了加速查询,使用了B+树来做索引,将查询性能优化到了O(lg(n))。
但问题就来了,查询数据性能在 lg(n) 级别的数据结构有很多,比如redis的zset里用到的跳表,也是lg(n),并且实现还贼简单。
那为什么mysql的索引,不使用跳表呢?
MySQL 查询避坑指南
在MySQL查询中,你可能会不经意的掉入某些坑中,甚至某些坑可能让你不死也掉半条命。下面罗列一下常见的坑。
日志分析 + MySQL = ?
去哪儿网日志分析实践。
汽车之家MySQL高可用建设实践
MySQL具有开源免费,运维简单,性能好等优点,是在汽车之家使用最多的一种数据库。数据库作为应用的后端存储,承担着数据持久化存储的功能,是应用可以正常对外提供服务的关键组件,数据库的高可用非常重要。
相对于成熟的商业数据库软件,开源的 MySQL高可用需要使用者自己进行设计和研发,本文介绍汽车之家MySQL高可用架构发展历程,建设实践情况。
从杀慢查询入手来预防 MySQL 雪崩的办法
保证MySQL数据库正常运行的最后一道防线。
备份恢复系统之MySQL篇
备份作为容灾的基础,其重要性不言而喻。本文将以我们熟悉的MySQL数据库着手,构建企业级备份恢复系统。 希望能带给大家一些借鉴意义,欢迎大家围观。
MySQL 深潜 - MDL 锁的实现与获取机制
本文介绍在 MDL 系统中常用的数据结构及含义,从实现角度讨论 MDL 的获取机制与死锁检测,最后分享在实践中如何监控 MDL 状态。