mysql
道友,且慢
不愤不启,不悱不发,学习就应该是问题驱动的。
微信: bclz_007
展开
-
InnoDB体系架构详解
InnoDB的架构由内存池和后台线程构成,架构图如图所示(1)内存根据分工以及存储文件的不同分为缓冲池、重做日志缓冲、额外内存池:缓冲池:InnoDB引擎是基于磁盘存储的,并将其中的记录按照页的方式进行管理。由于磁盘IO的速度感人,为了提高数据库的整体性能,在内存中划了一块区域作为缓冲池。数据库读取页时,首先将从磁盘读到的页存放在缓冲池中。下次再读相同页时,首先判断该页是否在缓冲池中。若在缓冲池中...原创 2018-06-12 01:47:51 · 2013 阅读 · 0 评论 -
InnoDB如何管理缓冲池
LRUInnoDB引擎使用LRU(Latest Recent Used)算法对缓冲池进行管理,最近被访问的页会放在URL列表的最前面,这要就能保证经常被访问的页都能在缓冲池中命中,从而提高了数据库读写的效率。缺点然而一些极端的情况将会降低性能:一次偶尔的大数据量的全表查询,导致缓冲池中的LRU列表中的页全部被替换为不经常访问的页。这样对热点数据的访问又要重新从磁盘中读取。优...原创 2018-06-12 23:26:40 · 326 阅读 · 0 评论 -
Mysql数据库和InnoDB存储引擎中各种类型文件介绍
Mysql数据库和InnoDB存储引擎中有各种不同类型的文件,这些文件在mysql中起着至关重要的作用,了解他们的功能对学习mysql的原理有很大的帮助。参数文件日志文件socket文件pid文件MySQL表结构文件存储引擎文件参数文件:MySQL实例启动时会读取参数文件,根据文件中的参数来进行初始化查看所有参数的命令:SHOW VARIABLES ,可以...原创 2018-06-14 14:08:46 · 2216 阅读 · 0 评论 -
InnoDB如何用锁实现事务的隔离
要想搞清楚innoDB如何实现事务隔离级别,首先需要了解什么是事务的隔离级别。隔离级别SQL标准定义了4种事务隔离级别:READ UNCOMMITEDREAD COMMITEDREPEATABLE READSERIALIZABLEREAD UNCOMMITED(未提交读)未提交读是指两个事务A,B。事务A在读取数据库一行记录的同时事务B在修改该记录,事务B对该记录修...原创 2018-06-23 13:43:07 · 468 阅读 · 0 评论 -
Mysql的分区
概念MySQL数据库在5.1版本开始支持分区,分区的过程是将一个表或索引分解为多个更小、更可管理的部分。分类分区有两种:水平分区垂直分区 水平分区是将不同的行分别放到不同的物理文件中区分存放,相应的垂直分区就是讲不同的列放到不同的物理文件中区分存放。目前MySQL仅仅支持水平分区。类型MySQL支持的分区种类如下:RANGE分区:行数据基于属于一个给定连续区间的...原创 2018-06-18 15:01:26 · 125 阅读 · 0 评论 -
mysql中的B+树索引
mySQL中有3类索引B+树索引自适应hash索引全文索引 本文讲的是B+树索引,其他两种索引以后有机会再写。概念B+树索引,顾名思义就是用B+树结构来存储索引的数据,至于B+树的定义这里就不加赘述了。要注意的一点是B+树索引的叶子节点存储的并不是一条记录,而是一个数据页。索引数据时,是先通过索引找到记录所在的页,然后把页加载到内存中,找到页中的记录。 在MySQL中B...原创 2018-06-20 21:15:19 · 302 阅读 · 0 评论 -
libmysqlclient_r.so.16找不到的原因与解决
报错django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: libmysqlclient_r.so.16: cannot open shared object file: No such file or directory错误原因:报这个错误是因为mysql没有装全,mysql的所有rpm包如下:...原创 2018-12-11 16:56:46 · 6782 阅读 · 0 评论