mysql优化
mysql相关学习
悟空Edison
Talk is cheap.
展开
-
听说你不想只搬砖?——Mysql中查询缓存优化
Mysql中查询缓存优化在实际的业务环境中,我们可能会存在重复查询相同sql的数据,其实这样每次都用Mysql走文件或索引查询数据的效率是非常的慢的,所以我们需要引入Mysql中的查询缓存。当数据被修改,之前的缓存会失效,修改比较频繁的表不适合做查询缓存。当然使用 mysql 缓存也不是没有坏处,mysql 多了个管理缓存的任务,需要写入缓存,然后如果判断里面的缓存已经过期,又要从里面删除缓存。博主在学习的时候发现Mysql8已经废弃了这个功能,大家学习的时候可以当作了解。因为现在的缓存工具很多,比如原创 2020-07-16 14:24:05 · 182 阅读 · 0 评论 -
听说你不想只搬砖?——Mysql中索引相关和SQL优化
索引相关索引是数据库优化最常用的手段之一,通过索引通常可以帮助用户解决大多数的MySQL性能优化问题。以下的所有操作都只是抛砖引玉的作用,很多场景都是讲的大多数场景不是绝对的场景,具体场景还是需要具体分析,因为Mysql查询机制很优秀会选择“最优执行计划”也和索引的数据结构有关,请读者按着文章实际操作一次,才能更加贴切的了解到索引相关操作的奥秘,光学不写如竹篮打水。避免索引失效以下操作都是模拟操作,请自己手动操作一次加深印象全值匹配对索引中所有列都指定具体值。该情况下,索引生效,执行效率高。原创 2020-07-16 14:23:27 · 187 阅读 · 0 评论 -
听说你不想只搬砖?——Mysql中sql优化步骤
优化SQL步骤听说你不想在工作中只做一些简单的CRUD的工作了。那么作为极客的你,一定得知道这些优化SQL的步骤,才能在大数据级表查询中不用注释掉Thread.sleep(10000);就能让你的程序优化杠杠的。查看SQL执行频率查看当前连接的信息# 查看SQL执行频率 7个_占位 查询的是当前连接的信息 此处代表命令执行操作次数show status like 'Com_______';# 以下是查询出的信息+---------------+-------+| Variable_name原创 2020-07-16 14:22:40 · 220 阅读 · 0 评论 -
Mysql中MVCC原理
Mysql中MVCC原理什么是MVCC?英文全称为Multi-Version Concurrency Control,翻译为中文即 多版本并发控制。他无非就是乐观锁的一种实现方式。在Java编程中,如果把乐观锁看成一个接口,MVCC便是这个接口的一个实现类而已。特点1.MVCC其实广泛应用于数据库技术,像Oracle,PostgreSQL等也引入了该技术,即适用范围广2.MVCC并没有简单的使用数据库的行锁,而是使用了行级锁,row_level_lock,而非InnoDB中的innodb_row原创 2020-07-16 14:21:26 · 150 阅读 · 0 评论 -
Mysql共享锁、排他锁
Mysql共享锁、排他锁名词及含义表级锁(锁定整个表)页级锁(锁定一页)行级锁(锁定一行)共享锁(S锁,MyISAM 叫做读锁)排他锁(X锁,MyISAM 叫做写锁)间隙锁(NEXT-KEY锁)悲观锁(抽象性,不真实存在这个锁)乐观锁(抽象性,不真实存在这个锁)InnoDB与MyISAM我之前专程写了Mysql中MyISAM和InnoDB区别和Mysql存储引擎这里主要写一些影响锁相关的内容Mysql 在5.5之前默认使用 MyISAM 存储引擎,之后使用 InnoDB 。查原创 2020-07-16 14:20:18 · 518 阅读 · 0 评论 -
Mysql中MyISAM和InnoDB区别
MyISAMMyISAM是MySQL的默认数据库引擎(5.5版之前),由早期的ISAM(Indexed Sequential Access Method:有索引的顺序访问方法)所改良。虽然性能极佳,但却有一个缺点:不支持事务处理(transaction)。不过,在这几年的发展下,MySQL也导入了InnoDB(另一种数据库引擎),以强化参考完整性与并发违规处理机制,后来就逐渐取代MyISAM。InnoDBInnoDB,是MySQL的数据库引擎之一,为MySQL AB发布binary的标准之一。Inno原创 2020-07-16 14:19:05 · 722 阅读 · 0 评论 -
Mysql各种索引分析
索引概述MySQL官方堆索引的定义为:索引(index)是帮助MySQL高效获取数据的数据结构(有序)。在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是索引。索引优势劣势优势类似数据的目录索引,提高数据检索的效率,降低数据库的IO成本。通过索引列对数据进行排序,降低数据排序的成本,降低CPU消耗劣势实际上索引也是一张表,该表中保存了主键与索引字段,并指向实体类的记录,所以索引列原创 2020-07-16 14:18:16 · 106 阅读 · 0 评论 -
Mysql中各种存储引擎解析
存储引擎概述和大多数的数据库不同,MySQL中有一个存储引擎的概念,针对不同的存储需求可以选择最优的存储引擎。存储引擎就是存储数据,建立索引,更新查询数据等等技术的实现方式。存储引擎是基于表的,而不是基于库的。所以存储引擎也可被称为表类型。Oracle,SqlServer等数据库只有一种存储引擎。MySQL提供了插件式的存储引擎架构。所以MySQL存在多种存储引擎,可以根据需要使用相应的引擎,或者编写存储引擎。MySQL5.0支持的存储引擎包含:InnoDBMyISAMBDBMEMORY原创 2020-07-16 14:17:11 · 109 阅读 · 0 评论 -
Transactional事务隔离级别和传播性
Transactional注解隔离级别定义一个事务受其他并发事务影响程度。事务并发引发的问题。脏读:一个事务读取到另一个事务修改但还未提交的数据不可重复读:一个事务读取数据之后,该数据被其他事务修改,此时第一个事务读取到的事务就是错误的(强调修改)幻读:一个事务读取了某些数据,没提交再读取时数据多了或者少了,类似幻觉(强调增删)丢失修改:两个事务都读取了数据,其中一个事务修改之后,另一个事务也做了修改,前者的修改丢失。、我们这里先看看@Transaction注解//可以放在 类上 或者原创 2020-07-16 14:15:44 · 2074 阅读 · 0 评论