![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mysql
文章平均质量分 77
HTslide
这个作者很懒,什么都没留下…
展开
-
MYSQL缓存池笔记整理
**mysql的INNODB引擎是基于磁盘存储的,管理方式也是按照页管理的,表空间结构大概如下:如果所有的请求都需要磁盘IO的话,那无疑是很耗时的,所以在中间就有一层缓存来进行缓冲,mysql的缓存池就是这个缓冲的角色,通过缓存池可以弥补部分cpu和磁盘的速度差距。读操作如果数据是首次读,那么按页读取后会将磁盘读出来页的数据存到缓存池,这样如果下次获取相同的页时,就不会区磁盘读取,而直接返回缓存池中的数据页。写操作要写数据肯定需要先获取数据,那么首先会读,然后,对要写的数据并不会直接被写入到磁盘,原创 2021-01-23 20:00:42 · 179 阅读 · 0 评论 -
mysql的join分析与优化
CREATE TABLE `t1` ( `id` int(11) NOT NULL, `a` int(11) DEFAULT NULL, `b` int(11) DEFAULT NULL, PRIMARY KEY (`id`), KEY `a` (`a`)) ENGINE=InnoDB DEFAULT CHARSET=latin1;CREATE TABLE `t2` ( `id` int(11) NOT NULL, `a` int(11) DEFAULT NULL,...原创 2020-09-12 11:21:15 · 103 阅读 · 0 评论 -
sharding-proxy + sharding-scaling实现不停服分库分表数据迁移
sharding-proxy + sharding-scaling实现不停服数据迁移sharding-proxy 的相关理论&使用文档参考官网(https://shardingsphere.apache.org/document/legacy/4.x/document/cn/manual/sharding-proxy/)sharding-proxy 的相关理论&使用文档参考官网(https://shardingsphere.apache.org/document/legacy/4.x原创 2020-08-30 12:04:31 · 3529 阅读 · 3 评论 -
select count(*) 数据量大时,怎么解决他的慢?
我们都知道在不同的 MySQL 引擎中,count(*) 有不同的实现方式:MyISAM 引擎把一个表的总行数存在了磁盘上,因此执行 count(*) 的时候会直接返回这个数,效率很高;而 InnoDB 引擎就麻烦了,它执行 count(*) 的时候,需要把数据一行一行地从引擎里面读出来,然后累积计数。数据量大了以后,innodb的方式自然就很慢,那么innodb自身是如何优化的呢?因为innodb的B+索引存放数据的方式,所以只要从最小的索引树去取数据计算,就好了,在保证逻辑正确的前.原创 2020-08-16 10:09:46 · 5179 阅读 · 0 评论