随笔分类 -  MySQL

摘要:##问题描述 MySQL在创建索引时(或者导入数据时),出现如下错误信息。 Error 1071: Specified key was too long; max key length is 767 bytes. ERROR 1709 (HY000): Index column size too l 阅读全文
posted @ 2022-07-16 13:48 静水楼台/Java部落阁 阅读(538) 评论(0) 推荐(0) 编辑
摘要:官方文档:InnoDB Locking and Transaction Model 一、InnoDB存储引擎中的锁 1.共享锁和排它锁(Shared and Exclusive Locks)--行级别锁 InnoDB存储引擎实现了两种标准的行级锁: 共享锁(S):允许持有该锁的事务读取一行记录。 排 阅读全文
posted @ 2020-05-23 15:32 静水楼台/Java部落阁 阅读(690) 评论(0) 推荐(0) 编辑
摘要:MySQL官方文档:Chapter 16 Replication 一、MySQL主从复制 MySQL的复制原理大致如下: 1.主库记录binlog日志 在每次准备提交事务完成数据更新前,主库将数据更新的事件记录到二进制日志binlog中。主库上的sync_binlog参数控制binlog日志刷新到磁 阅读全文
posted @ 2019-12-23 22:15 静水楼台/Java部落阁 阅读(1981) 评论(0) 推荐(0) 编辑
摘要:一、定位慢查询 在实际生产环境中,可能因为开发写了不正确的SQL语句,索引优化的不好,或其他查询操作而导致数据库整体性能下降。我们可以开启mysq慢查询,一旦有sql执行时间超过了设置的慢查询时间,就会被记录到慢查询日志中。这样我们就可以从慢查询日志中定位慢查询sql,然后分析慢查询日志就会知道问题 阅读全文
posted @ 2019-07-08 16:00 静水楼台/Java部落阁 阅读(7143) 评论(0) 推荐(2) 编辑
摘要:官方文档: 8.2 Optimizing SQL Statements Chapter 12 How MySQL Performs Different Selects Chapter 13 How MySQL Transforms Subqueries 在分析SQL的执行过程和索引生效和失效的典型场 阅读全文
posted @ 2019-07-07 06:56 静水楼台/Java部落阁 阅读(284) 评论(0) 推荐(0) 编辑
摘要:一、Mysql高可用解决方案 方案一:共享存储 一般共享存储采用比较多的是 SAN/NAS 方案。 方案二:操作系统实时数据块复制 这个方案的典型场景是 DRBD,DRBD架构(MySQL+DRBD+Heartbeat) 方案三:主从复制架构 主从复制(一主多从) MMM架构(双主多从) MHA架构 阅读全文
posted @ 2019-05-25 12:02 静水楼台/Java部落阁 阅读(23869) 评论(0) 推荐(0) 编辑
摘要:索引是数据库优化中最常用也最重要的手段之一,通过索引可以解决大多数的sql性能问题。在mysql中,索引是在存储引引擎层而不是服务器层实现的,所以,并没有统一的索引标准:不同的存储引擎的索引的工作方式并不一样,也不是所有的存储引擎都支持所有类型的索引。即使多个存储引擎支持同一种类型的索引,其底层的实 阅读全文
posted @ 2019-04-24 22:21 静水楼台/Java部落阁 阅读(1154) 评论(0) 推荐(0) 编辑
摘要:一、能够使用索引的典型场景 频繁作为查询条件的字段应该创建索引,通常where后面的字段会建立索引。而有些情况不适合创建索引例如: 唯一性太差的字段不适合单独创建索引 select * from emp where sex='男' 频繁变化的字段不应该创建索引 select * from emp w 阅读全文
posted @ 2019-01-23 17:18 静水楼台/Java部落阁 阅读(1298) 评论(0) 推荐(0) 编辑
摘要:Innodb中的事务隔离级别和锁的关系 官方文档:InnoDB Locking and Transaction Model 本文主要介绍事务的特性、事务并发可能导致的问题、数据库锁机制、事务的隔离级别。 一、事务的ACID特性 事务具有4个特性:原子性、一致性、隔离性、持久性,这4个特性简称为ACI 阅读全文
posted @ 2019-01-04 16:57 静水楼台/Java部落阁 阅读(384) 评论(0) 推荐(0) 编辑
摘要:一、传统架构跨库事务解决方案 名词解释 要了解XA协议,必须先了解X/Open DTP模型 X/Open DTP事务模型 X/Open DTP(Distributed Transaction Process)是X/Open 组织定义的一个分布式事务模型。这个模型主要使用了两段提交(2PC,Two-P 阅读全文
posted @ 2017-11-26 14:23 静水楼台/Java部落阁 阅读(310) 评论(0) 推荐(0) 编辑