中间件与数据库:MySQL

MySQL死锁浅析

数据库锁设计的初衷是处理并发问题。作为共享资源,当出现并发访问的时候,数据库需要合理地控制共享资源的访问。锁就是用来实现这些访问规则的重要数据结构。然而,不合理地使用锁也带来了其他问题。

记一次线上问题引发的对 Mysql 锁机制分析

本文以一个线上问题为背景,对 Mysql 中的各种锁机制进行了详细的总结,分析了各个锁的加锁时机和具体使用场景,其中特别要注意间隙锁的使用,因间隙锁和间隙锁之间不互斥,当多个事务之间并发执行时很容易形成死锁。

浅谈MySQL分页查询的工作原理

MySQL 的分页查询在我们的开发过程中还是很常见的,比如一些后台管理系统,我们一般会有查询订单列表页、商品列表页等。

浅析MySQL之MVCC机制

MVCC 在 MySQL InnoDB 中的实现主要是为了提高数据库并发性能,用更好的方式去处理读写冲突,做到即使有读写冲突时,也能做到不加锁,做到非阻塞并发读。

研发日常踩坑-Mysql分页数据重复

MySQL 分页查询接口出现重复数据?你日常有没有遇到这样的坑?本文详细讲解了order by和limit混用的时候,为什么出现了排序的混乱情况。

浅谈Mysql读写分离的坑以及应对的方案

为什么我们要进行读写分离?个人觉得还是业务发展到一定的规模,驱动技术架构的改革,读写分离可以减轻单台服务器的压力,将读请求和写请求分流到不同的服务器,分摊单台服务的负载,提高可用性,提高读请求的性能。

高性能MySQL实战(三):性能优化

这篇主要介绍对慢 SQL 优化的一些手段,而在讲解具体的优化措施之前,我想先对 EXPLAIN 进行介绍,它是我们在分析查询时必要的操作,理解了它输出结果的内容更有利于我们优化 SQL。为了方便大家的阅读,在下文中规定类似 key1 的表示二级索引,key_part1 表示联合索引的第一部分,unique_key1 则表示唯一二级索引,primary_key 表示主键索引。

MySQL到TiDB:Hive Metastore横向扩展之路

vivo在大数据元数据服务横向扩展道路上的探索历程。

高性能MySQL实战(二):索引

我们在上篇 高性能MySQL实战(一):表结构 中已经建立好了表结构,这篇我们则是针对已有的表结构和搜索条件为表创建索引。

MySQL事务死锁问题排查

一个简单的MySQL事务竟然暗藏死锁风险,通过深入分析MySQL锁机制,逐步解开死锁背后的神秘面纱。

我跟面试官说MySQL单表数据量不要超过两千万,面试官不信

作为一个合格的 DBA,在遇到线上单表数据量超过千万级别的时候,往往会建议用户通过分表来缩减单表数据量,当用户问为什么单表数据量不能超过千万时,DBA 往往会说:单表数据量超过千万,会影响查询性能。知其然而不知所以然,学习技术不能停留在表面,而是要进一步去深入挖掘其中的原理,这样才能不断进步和成长。回到这个问题:为什么单表数据量不能超过两千万,其中的依据是什么?

高性能MySQL实战(一):表结构

最近因需求改动新增了一些数据库表,但是在定义表结构时,具体列属性的选择有些不知其所以然,索引的添加也有遗漏和不规范的地方,所以我打算为创建一个高性能表的过程以实战的形式写一个专题,以此来学习和巩固这些知识。

一文了解MySQL中的多版本并发控制

希望借助今天这篇文章,能用大白话说清楚这个相对比较底层和复杂的MVCC机制。

技术同学必会的MySQL设计规约,都是惨痛的教训

怎么才能很好的避免低级故障?以下规范在大型互联网公司经过了充分的验证,尤其适用于并发量大、数据量大的业务场景。

QQA: MySQL 竟然无法区分大小写?

MySQL 执行 select 'a' = 'A'; 得到的结果竟然是真(1)?同学,collation 了解一下。

究其原因,是因为默认的 Collation 设置为 utf8mb4_general_ci(不同机器/字符编码下不同),任何的字符串比较都会忽略大小写。

QA视角的MySQL探险之旅:穿越慢查询沼泽,揭示实战避坑指南

数据库是“按照数据结构来组织、存储和管理数据的仓库”,承接核心的业务数据,在业务中占有非常重要的地位。

首页 - Wiki
Copyright © 2011-2024 iteam. Current version is 2.123.1. UTC+08:00, 2024-03-05 23:22
浙ICP备14020137号-1 $访客地图$