LINUX C系统编程与PYTHON中的时间模块对比
今天看python时间模块time的时候发现和LINUX系统编程中的时间调用函数基本一样,以前刚好没有好好学习LINUX C编程的时间模块就对比进行了学习。本文只是给出函数接口和使用方式,详细了解请参考LINUX main page和PYTHON help本文不涉及asctime和ctime,并且C中涉及多线程编程注意选择可重入性函数一...
innblock 工具| InnoDB page观察利器
---#####鸣谢:- 笔者是知书堂的早期学生,最初有写这么一个工具的想法也得到叶金荣老师的认可和鼓励,这个想法也整整耗掉了好几个晚上的休息时间,这里也感谢叶金荣老师对工具审核,叶老师的经验和学识是每一位学员宝贵的财富.- 感谢主要作者周彦伟、王竹峰、强昌金对本工具的认可和授权引用部分内容,如...
[ERROR]Space id in fsp header but in the page header一列
原创转载请注明出处报错如下MYSQL不能正常启动2017-09-22 10:39:05 21409 [Note] InnoDB: Database was not shutdown normally!2017-09-22 10:39:05 21409 [Note] InnoDB: Starting crash recovery.2017-09-22 10:39:05 21409 [Note] InnoDB: Reading tablespace information from the .ibd files...2017-09-22...
innodb page重组空间压缩函数(btr_page_reorganize_low)注释
当innodb一个page碎片页过多会触发重组,这个重组过程在内存中完成,函数主要如下:点击(此处)折叠或打开boolbtr_page_reorganize_low{ buf_block_t* block &n...
python高阶函数和C语言函数指针
python高阶函数:将函数作为实参进行传入。C语言函数指针:将函数的指针作为实参进行传入,函数指针也是C语言多态实现的基础。我们可以看到他们确实有相同之处,我们来分别看一下两者的代码完成相同的功能python:点击(此处)折叠或打开def sub(a,b): ...
关于innodb中查询的定位方法
原创转载请注明出处源码版本 5.7.14涉及源码文件page0cur.ccpage0page.hpage0page.ccrem0cmp.cc 为什么谈及定位方法,因为在innodb中,比如一个插入语句我们需要定位在哪里插入(PAGE_CUR_LE),比如一个查询语句我们需要定位到其第一个需要读取数据的位置,因此定位方法是查询的根本。而找到这个记录位置...
MYSQL ERROR 1146 Table doesnt exist 解析
原创其注明出处在MYSQL使用innodb的时候我们有时候会看到如下报错:ERROR 1146 (42S02): Table 'test.test1bak' doesn't exist先总结下原因:缺少frm文件innodb数据字典不包含这个表我们重点讨论情况2,因为情况1是显而易见的。在使用innodb存储引擎...
从C C++的角度看PYTHON的深浅拷贝
原创如果有误请指出今天看到python的列表深浅拷贝,不由得和C\C++进行了比较如下:其实python中的深COPY和浅COPY和C\C++中是一样的,毕竟python底层是C/C++做的,这方面保留了C\C++的原理,对于类或者结构体复制构造函数等号(=)操作符保留了浅COPY,当然我们可以自定义这些函数。我们先从C++的简单的复制构造函...
关于叶老师一个RR模式下UPDATE锁范围扩大案例的研究
一、前言叶金荣老师分享了一篇文章如下:https://mp.weixin.qq.com/s/09DJCyMq8kBn4mlezgzUgg这里只研究下锁的模式,借用叶老师的表和语句mysql> select * from t1;+----+----+----+----+| c1 | c2 | c3 | c4 |+----+----+----+----+| 0 | 0 | 0 | 0 || 1 | 1 | 1 | 0 || 3 | 3 | 3 | 0 || 4 |...
如何通过binlog 轻松的找到没有及时提交的事物(infobin工具)
工具获取https://pan.baidu.com/s/1jHIWUN0一、前言本文只是工具的展示,未过多介绍细节,如果要更多了解细节请参考MYSQL运维内参第21章,当然我也有阅读并且从源码级进行了验证,同时在书中也有一个用shell写成的脚本进行长期未提交的事物,但是这里我自己使用了自己的工具infobin。以前我也写过一个...
MYSQL中一个特殊的MDL LOCK死锁案列
版本:5.7.19 mysql+innodb本文中所说的上文是如下文章,也是讨论MDL LOCK死锁的基础,包含了很多MDL LOCK的基础知识建议好好阅读http://blog.itpub.net/7728585/viewspace-2143093/一、问题由来前段开发反馈时间线上数据库老是出现死锁情况,而我们设置了innodb_print_all_deadlocks,但是在相应的时间点没有找到...
程序员必看--23种设计模式及解释(中英文对照)
转自:http://blog.csdn.net/yaolingrui/article/details/7338263设计模式是每个程序员的必修课,这里将23种模式整理在一起,想学习这方面知识的朋友们有福了,呵呵。Singleton Pattern(单例模式):Ensure a class has only one instance, and provide a&nbs...
MYSQL METADATA LOCK(MDL LOCK)学习(1) 理论知识和加锁类型测试
原创,水平有限如有错误请指出共同探讨源码版本:5.7.14一、前言 MYSQL中MDL锁一直是一个比较让人比较头疼的问题,我们谈起锁一般更加倾向于INNODB下层的gap lock、next key lock、row lock等,因为它很好理解,也很好观察,而对于MDL LOCK却了解得很少,因为它实在不好观察,只有出现问题查看show proces...
LINUX 中的mmap浅析
LINUX 中的mmap浅析一、mmap基本原理和分类在LINUX中我们可以使用mmap用来在进程虚拟地址空间中分配创建一片虚拟内存地址映射其可以是1、文件映射 使用文件内容初始化内存2、匿名映射 初始化全为0的内存空间(calloc也可以)下面配图来自UNIX系统编程手册而对于是否共享又分为1、私有...
percona pt-pmp 用法
转载:http://www.cnblogs.com/ivictor/p/6012183.htmlpt-pmp有两方面的作用:一是获取进程的堆栈信息,二是对这些堆栈信息进行汇总。进程的堆栈信息是利用gdb获取的,所以在获取的过程中,会对mysql服务端的性能有一定的影响。用官方的话说:This will freeze the program for some period of time, rangi...
MYSQL 阿里的一个sql优化问题
今天研究了一天innodb事物,临近下班了同事田兴春告诉我有个阿里发出来的优化题,并且把建表和语句给我了,并且告诉我语句里面有隐式转换的可能昨天群里也有人说这道题但是一直没空看,刚好这会没事就看了一下,整个脚本如下:点击(此处)折叠或打开数据准备:...
MYSQL innodb中的只读事物以及事物id的分配方式
原创水平有限,如果有误请指出一、只读事物也许有人要问一个select算不算一个事物。其实在innodb中一个innodb的select是一个事物,他有trx_t结构体,并且放到了mysql_trx_list链表中,关于innodb事物系统一级的事都做了,但是这种事物叫做只读事物boolread_only;/*!< true if transaction is flaggedas a READ-ON...
MYSQL中对信号的处理(SIGTERM,SIGQUIT,SIGHUP等)
原创,因为LINUX系统编程水平有限某些用词不当请指出一、信号处理以及多线程先信号处理基础知识在LINUX中信号是一种由内核处理的一种软中断机制,他满足简单、不能携带大量信息、并且要满足一定条件才会发送等特征。信号会经历产生-->阻塞信号集-->未决信号集-->信号递达-->信号处理方式首先信号的产生可以有多种方式...
MYSQL INNODB主键使用varchar和int的区别
今天同事讨论关于主键使用varchar和int的区别。我现在总结的2个问题:1、tablespace中空间浪费 当然我们知道使用varchar可能会导致辅助索引比较大,因为用到varchar可能存储的字符较多,同时 在行头也存在一个可变字段字符区域(1-2)字节 而辅助索引叶子结点毕竟都存储了主键值,...
MYSQL RC模式insert update 可能死锁的情况
涉及的语句为RC模式下update根据主键更新和insert其实这样的问题在RC模式下,要么是简单update问题,要么是insert造成的主键和唯一键检查唯一性时出现问题。下面以主键问题为列子进行分析一下可能出现的情况。update where条件更新为主键,锁结构出现在单行主键上,辅助索引包含隐含锁结构,当前读RC非唯一索引...