自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

yanzongshuai的专栏

专注于MySQL、MariaDB、Percona、PostgreSQL数据库及Aerospike等nosql数据库

  • 博客(14)
  • 论坛 (3)
  • 问答 (1)
  • 收藏
  • 关注

原创 aerospike 持久化磁盘时,namespace与磁盘的关系

2017-06-28 22:16:52 1075

翻译 Why does MariaDB 10.2 use InnoDB instead of XtraDB?

Up until 10.1, MariaDB used Percona XtraDB as the default 'InnoDB' storage engine. From 10.2, InnoDB is the default. Why was this change made?直到10.1版本mariadb还在使用percona的xtradb作为默认的存储引擎。10.2版本开始不再使

2017-06-26 22:08:31 969

原创 innodb自适应刷脏页

主要涉及2个函数:cur_lsn = log_get_lsn();oldest_lsn = buf_pool_get_oldest_modification();age = cur_lsn > oldest_lsn ? cur_lsn - oldest_lsn : 0;pct_for_dirty = af_get_pct_for_dirty();pct_for_lsn = af_get

2017-06-25 20:13:21 1493

原创 buf_flush_page_cleaner_thread

while (srv_shutdown_state == SRV_SHUTDOWN_NONE) { //1 server active或者有挂起的读IO请求或者n_flushed==0 // sleep 1微妙 if (srv_check_activity(last_activity) || buf_get_n_pending_read_ios()

2017-06-25 19:44:20 684

原创 innodb buffer pool管理--数据页的访问

2017-06-25 11:52:35 371

原创 innodb buffer pool管理--free list

buf_block_t*    buf_LRU_get_free_block(    buf_pool_t* buf_pool/*!) 功能:访问数据页的流程。获取空闲的内存块流程:loop:buf_pool_mutex_enter(buf_pool);//UT_LIST_GET_FIRST(buf_pool->free),为空的话block=NULL//1bl

2017-06-25 08:45:41 583

原创 学习使用MySQL 5.7的sys库--补充

Sys schema的数据来自information_schema和performance_schema,ps对性能影响很大,大概可以下降10%。所以不要在线上大量部署通过查询sys中视图来完成监控巡检工作。

2017-06-18 22:06:18 684

转载 学习使用MySQL 5.7的sys库

Sys库里的数据来源Sys库所有的数据源来自:performance_schema。目标是把performance_schema的把复杂度降低,让DBA能更好的阅读这个库里的内容。让DBA更快的了解DB的运行情况。 Sys库下有两种表字母开头: 适合人阅读,显示是格式化的数x$开头 : 适合工具采集数据,原始类数据 每类表大概介绍sys_开头是库里的配置表:sy

2017-06-18 22:00:35 7937

原创 MySQL表空间碎片整理

MySQL可以使用alter table tn engine=innodb语句进行表空间碎片整理。而页内记录并不是物理有序的,并且删除记录后,被删除的记录放到页内free链表,可能会产生很多空洞。alter table命令会重建表,这样的话,猜测可能扫描老表页内说有数据,一个一个的插入到新表中。是不是这个过程呢?跟踪了下堆栈:(gdb) bt#0 btr_cur_optimistic_in

2017-06-11 21:11:35 634

原创 innodb buffer pool管理--flush list

//在mtr_commit时,将脏页添加到flush list头部。mtr_commit if (mtr->modifications && mtr->n_log_recs) { mtr_log_reserve_and_write(mtr);-> mtr_add_dirtied_pages_to_flush_list(mtr);-> }mtr_add

2017-06-10 21:57:39 590

原创 postgresql编译安装

1、postgresql编译需要预装一些工具。除了make、gcc(GNU编译器套件)这些基本必备的工具,还要有zlib、bison(一个YACC语法分析生成器的GNU实现)、readline等等2、取出源码后解压:     tar -zxvf postgresql-9.6.3.tar.gz3、./configure 。如果要编译debug版的,那么加编译选项:--enable-deb

2017-06-09 22:48:06 547

原创 innodb buffer pool管理--LRU young何时make old

buf_LRU_make_block_old(buf_page_t* bpage) buf_LRU_remove_block(bpage); buf_LRU_add_block_to_end_low(bpage);//添加到尾部 //该函数在MySQL5.6.33中貌似没有调用了1、page被第一次读入bufpool时,会加入LRU list,并设置为old。当LRU

2017-06-04 16:00:48 503

原创 innodb buffer pool管理--LRU old何时make young

buf_LRU_make_block_young(buf_page_t* bpage) buf_LRU_remove_block(bpage); buf_LRU_add_block_low(bpage, FALSE);//插入到头 //make young函数将该页从LRU中删除,然后再插入到头部buf_page_make_young_if_needed ->buf_pa

2017-06-04 15:55:53 660

原创 innodb buffer pool管理--LRU插入

buf_LRU_add_block->buf_LRU_add_block_low //buf_page_t有该页属于的buffer pool对象 buf_pool_t* buf_pool = buf_pool_from_bpage(bpage); //如果old为FALSE,即不向old插;或者LRU链表长度小于512 //插入到LRU链表头部 if (!o

2017-06-04 15:54:01 458

空空如也

yzs87的留言板

发表于 2020-01-02 最后回复 2020-01-02

写博客能不能添加个撤销键

发表于 2018-01-04 最后回复 2018-01-06

innodb插入意向锁如何使用

发表于 2015-06-07 最后回复 2015-06-07

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除