mysql性能优化相关
文章平均质量分 91
吒哇
这个作者很懒,什么都没留下…
展开
-
讲讲innodb中MVCC实现原理
1 数据库事务1.1 从事物说起事物是一组逻辑上的操作,这组操作将执行与否将会保持一致,而在数据库层面,它是一个或多个数据库操作。下面将从事物的状态、条件以及隔离等问题展开(熟悉的读者可以直接略过~)1)事物的状态事物对应着一组操作,大致划分成以下五种状态:- Active(活动):此时事务对应的数据库操作正在执行过程中- Partially Committed(部分提交):当事务中的最后一个操作执行完成,但由于操作都在内存中执行,所造成的修改并未刷新到磁盘时- Fail...原创 2021-09-15 14:02:16 · 345 阅读 · 0 评论 -
MyISAM与InnoDB两者之间区别与选择,详细总结,性能对比
在MYSQL中使用全文索引(FULLTEXT index)MYSQL的一个很有用的特性是使用全文索引(FULLTEXT index)查找文本的能力.目前只有使用MyISAM类型表的时候有效(MyISAM是默认的表类型,如果你不知道使用的是什么类型的表,那很可能就是 MyISAM).全文索引可以建立在TEXT,CHAR或者VARCHAR类型的字段,或者字段组合上.我们将建立一个简单的表用来解释各种特性.简单用法(MATCH()函数)对3.23.23以后的版本有效,复杂的用法(IN BOOLEAN MOD原创 2020-09-18 08:38:16 · 8368 阅读 · 1 评论 -
线上频出MySQL死锁问题!分享一下自己教科书般的排查和分析过程
本文主要是讲过程与思路,从手上的日志来反推故障现场,最后模拟出事故现场。没有过度讲解理论的一些知识,主要是偏分析。文章参考的理论知识在最后,同时也将本次案例提交 ISSUE 给:https://github.com/aneasystone/mysql-deadlocks/issues/22仓库。项目源码地址:https://github.com/LiWenGu/transaction_lock.git1. 日志1.1 业务日志一直平稳运行大半年的代码,突然在最近几天频出现死锁异常,业务机.原创 2020-07-27 10:49:50 · 211 阅读 · 0 评论 -
聚集索引、辅助索引、覆盖索引、联合索引
参考链接:https://blog.csdn.net/u012006689/article/details/73195837?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.noneca原创 2020-07-10 11:18:50 · 187 阅读 · 0 评论 -
MySQL InnoDB事务ACID实现原理
参考链接:https://www.cnblogs.com/GrimMjx/p/10575147.html原创 2020-07-09 17:29:53 · 164 阅读 · 0 评论 -
Mysql事务和锁机制详解
什么是事物?MySQL 事务主要用于处理操作量大,复杂度高的数据。比如说,在人员管理系统中,你删除一个人员,你即需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数据库操作语句就构成一个事务!在 MySQL 中只有使用了 Innodb 数据库引擎的数据库或表才支持事务。事务处理可以用来维护数据库的完整性,保证成批的 SQL 语句要么全部执行,要么全部不执行。事务用来管理 insert,update,delete 语句一般来说,事务是必须满足4个条件(ACID)::原创 2020-07-09 10:07:27 · 452 阅读 · 0 评论 -
mysql索引底层介绍
...原创 2020-06-29 14:46:33 · 118 阅读 · 0 评论 -
MySQL中的重做日志(redo log),回滚日志(undo log),以及二进制日志(binlog)的简单总结
参见:https://blog.csdn.net/moshenglv/article/details/79542168原创 2020-06-09 18:07:53 · 165 阅读 · 0 评论 -
MySQL事务之MVCC、undo、redo、binlog、二阶段提交
参见:https://blog.csdn.net/jy02268879/article/details/105580287原创 2020-06-09 18:07:14 · 326 阅读 · 0 评论 -
超级全面的MySQL优化面试解析
概述为什么要优化 系统的吞吐量瓶颈往往出现在数据库的访问速度上 随着应用程序的运行,数据库的中的数据会越来越多,处理时间会相应变慢 数据是存放在磁盘上的,读写速度无法和内存相比 如何优化 设计数据库时:数据库表、字段的设计,存储引擎 利用好MySQL自身提供的功能,如索引等 横向扩展:MySQL集群、负载均衡、读写分离 SQL语...原创 2020-04-15 13:53:05 · 653 阅读 · 0 评论 -
MySQL用得好好的,为什么要转ES?
京东到家订单中心系统业务中,无论是外部商家的订单生产,或是内部上下游系统的依赖,订单查询的调用量都非常大,造成了订单数据读多写少的情况。我们把订单数据存储在MySQL中,但显然只通过DB来支撑大量的查询是不可取的。同时对于一些复杂的查询,MySQL支持得不够友好,所以订单中心系统使用了Elasticsearch来承载订单查询的主要压力。Elasticsearch作为一...原创 2019-11-04 14:13:02 · 170 阅读 · 0 评论 -
数据库分库分表的演进
数据库分库分表的演进背景在互联网初创时期,企业往往采用单体架构去搭建自己的应用系统,但是,随着企业的不断壮大,系统访问量不断随之上升,数据量也急剧增长。数据的存储是首先要解决的问题,在这个大数据时代,数据就是企业的命根子,数据库的单体架构很难满足数据的存储,这时,我们要对数据进行切分,数据的切分又分为垂直切分和水平切分。数据切分和数据库架构在数据切分之前,我们的所有业务都放在...原创 2019-11-01 13:20:48 · 145 阅读 · 0 评论 -
mySql性能优化
查看数据库的最大连接数show VARIABLES like '%max_connections%'set GLOBAL max_connections = 200max_connections=151查看是否开启缓存show variables like '%query_cache_type%'SET GLOBAL query_cache_size ...原创 2019-07-25 16:19:09 · 5564 阅读 · 0 评论 -
垂直拆分、读写分离、水平拆分(分库分表)详解
互联网当下,数据库的拆分过程基本遵循的顺序是:垂直拆分、读写分离、水平拆分(也称之为分库分表)。一、垂直拆分1、什么是垂直拆分?指的是将一个包含了很多表的数据库,根据表的功能的不同,拆分为多个小的数据库,每个库中包含部分表。比如:电商系统采用的库为db_eshop,根据用户功能和产品功能,可以拆分为用户库db_user和产品库db_product。2、什么时候使用垂直拆分...原创 2019-08-15 17:30:57 · 3408 阅读 · 0 评论 -
史上最全的select加锁分析(Mysql)
大家在面试中有没遇到面试官问你下面六句Sql的区别呢select * from table where id = ?select * from table where id < ?select * from table where id = ? lock in share modeselect * from table where id < ? lock in share ...原创 2019-08-21 09:31:19 · 1577 阅读 · 2 评论 -
互联网项目中mysql应该选什么事务隔离级别
为了避免上述尴尬的场景,请继续往下阅读!Mysql默认的事务隔离级别是可重复读(Repeatable Read),那互联网项目中Mysql也是用默认隔离级别,不做修改么?OK,不是的,我们在项目中一般用读已提交(Read Commited)这个隔离级别!what!居然是读已提交,网上不是说这个隔离级别存在不可重复读和幻读问题么?不用管么?好,带着我们的疑问开始本文!我们先来思考一个问题,...原创 2019-08-21 13:30:05 · 244 阅读 · 0 评论 -
Mysql架构
为什么要关注Mysql架构?好处提高可用性如果某个数据库实例出现问题,对业务来说,这时可由其他的数据库实例提供服务,或者可以快速切换到其他的数据库实例,对业务来说基本无感知,也不会导致业务的中断。同时通过数据在多个实例之间的复制,提高数据的安全性和可用性。提高性能业务对数据的访问可以分散到不同的数据库实例上,可以根据数据访问类型不同,将不同性质的访问操作,进行分离,都可以降低单...原创 2019-08-21 18:07:36 · 567 阅读 · 0 评论 -
Mycat 概述
Mycat 概述 Mycat 是什么?从定义和分类来看,它是一个开源的分布式数据库系统,是一个实现了MySQL 协议的的Server,前端用户可以把它看作是一个数据库代理,用MySQL 客户端工具和命令行访问,而其后端可以用MySQL 原生(Native)协议与多个MySQL 服务器通信,也可以用JDBC 协议与大多数主流数据库服务器通信,其核心功能是分表分库,即将一个大表水平分割为N 个小表...原创 2019-08-21 18:09:20 · 1565 阅读 · 0 评论 -
MySQL重要知识点/面试题总结
文章目录 什么是MySQL? 事务相关 什么是事务? 事物的四大特性(ACID)介绍一下? 并发事务带来哪些问题? 事务隔离级别有哪些?MySQL的默认隔离级别是? 索引相关 为什么索引能提高查询速度 什么是最左前缀原则? 注意避免冗余索引 Mysql如何为表字段添加索引? 存储引擎 一些常用命令 MyI...原创 2019-08-30 10:59:07 · 875 阅读 · 0 评论 -
MySQL优化史上最全的
原地址:https://juejin.im/post/5c6b9c09f265da2d8a55a855概述为什么要优化 系统的吞吐量瓶颈往往出现在数据库的访问速度上 随着应用程序的运行,数据库的中的数据会越来越多,处理时间会相应变慢 数据是存放在磁盘上的,读写速度无法和内存相比 如何优化 设计数据库时:数据库表、字段的设计,存储引擎 利用好...原创 2019-09-06 14:01:49 · 601 阅读 · 0 评论 -
mysql慢查询
一.慢查询基本配置slow_query_log 启动停止技术慢查询日志 slow_query_log_file 指定慢查询日志得存储路径及文件(默认和数据文件放一起) long_query_time 指定记录慢查询日志SQL执行时间得伐值(单位:秒,默认10秒) log_queries_not_using_indexes 是否记录未使用索引的SQL log_output 日志存放的...原创 2019-07-29 13:47:38 · 228 阅读 · 0 评论