中间件与数据库:MySQL

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 状态。

Sourcerer: MySQL Ingestion at Scale

Architecture and Challenges faced at scale.

mysql锁机制的再研究

在分布式系统中,分布式锁已经的使用越发常见,我们系统由于较为老旧,使用数据库实现分布式锁,方案为:使用lock_key, lock_biz组成唯一索引,利用数据库对一条记录insert和delete操作的事务性来实现不可重入的db分布式锁。

前一段时间,发现系统分布式锁出现死锁告警,在处理完问题后,重新去看现场日志,发现数据库出现了死锁,在阿里云性能诊断系统中的锁分析里找出死锁日志,但奇怪的是不同的唯一索引值出现了死锁,如下图所示。抱着不懂就研究的心态,重新去研究了mysql Inndb的锁机制(ps:公司mysql 默认是RC隔离级别)。

MySQL 分布式事务的“路”与“坑”

什么是分布式事务?MySQL分布式事务应当如用使用?是否有什么坑需要注意?它的读写一致性是如何保证的?点我,听我一一道来!

MySQL中的IO问题分析与优化

在业务迭代中,随着数据量的上升,会出现慢SQL情况,但是当我们去分析单条SQL的时候,发现其执行速度并没有那么慢,原因是什么呢,那么就可能是RDS服务器IO产生了瓶颈。

关于 MySQL 自增 ID 的事儿

本文以 Innodb 引擎为主进行介绍,使用自增主键的好处有很多,如:索引空间占比小、范围查询与排序都友好、避免像 UUID 这样随机字符串带来的页分裂问题等...

MySQL 常用备份工具流程解析

通过剖析备份流程,带你了解备份工具的加锁类型和时机。

MySQL Hash Join实现分析

连接操作是一种数据库中最基本的操作,连接算法的执行效率直接影响到整个数据库的效率、吞吐和资源。通常商业数据库系统一般有三种主流的连接实现:Nested Loop Join、Hash Join和Sort Merge Join。本文概述目前主流的Hash Join实现方式,以及分析MySQL中Hash Join的实现方式。

Home - Wiki
Copyright © 2011-2024 iteam. Current version is 2.132.0. UTC+08:00, 2024-09-21 07:55
浙ICP备14020137号-1 $Map of visitor$