摘要: 作者:蔡先生链接:https://www.zhihu.com/question/20196775/answer/154922935来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 算法时间复杂度用来度量算法执行时间的多少,用大O阶表示,即T(n)=O(f(n)),其中n 阅读全文
posted @ 2018-10-28 15:45 conanwang 阅读(981) 评论(0) 推荐(0) 编辑
摘要: 前言 近期在工作在遇到了几个和以前自己理解的一些不一样的死锁问题,因此想做一个mysql的死锁系列,梳理一下mysql引发死锁的一些场景,由于个人认知终归有限,本文所列的死锁场景不代表mysql全部的死锁触发原因,希望给其他同学启示,如能在工作中恰好起到帮助作用,那就更好了。 死锁是什么 如果有多个 阅读全文
posted @ 2018-01-14 23:05 conanwang 阅读(202) 评论(0) 推荐(0) 编辑
摘要: MySQL并行复制已经是老生常谈,笔者从2010年开始就着手处理线上这个问题,刚开始两三年也乐此不疲分享,现在再提这个话题本来是难免“炒冷饭”嫌疑。 最近触发再谈这个话题,是因为有些同学觉得“5.7的并行复制终于彻底解决了复制并发性问题”, 感觉还是有必要分析一下。大家都说没有银弹,但是又期待银弹。 阅读全文
posted @ 2017-06-29 14:48 conanwang 阅读(795) 评论(0) 推荐(0) 编辑
摘要: 为什么要使用FTWRL MySQL dba在日常工作中,数据备份绝对是工作频度最高的工作内容之一。当你使用逻辑方式进行备份(mydumper,mysqldump)或物理方式进行备份(percona-xtrabackup),为了保证数据的一致性,这两种备份方式都会在备份过程中执行 flush tabl 阅读全文
posted @ 2017-05-31 17:15 conanwang 阅读(4604) 评论(1) 推荐(0) 编辑
摘要: Linux的进程相互之间有一定的关系。比如说,在Linux进程基础中,我们看到,每个进程都有父进程,而所有的进程以init进程为根,形成一个树状结构。我们在这里讲解进程组和会话,以便以更加丰富的方式了管理进程。 进程组 (process group) 每个进程都会属于一个进程组(process gr 阅读全文
posted @ 2017-05-14 18:57 conanwang 阅读(572) 评论(0) 推荐(0) 编辑
摘要: 记录一下自己常用的linux系统命令,方便以后查阅,发觉记忆越来越不行了 找到最耗CPU的java线程 ps命令 命令:ps -mp pid -o THREAD,tid,time 或者 ps -Lfp pid 结果展示: 这个命令的作用,主要是可以获取到对应一个进程下的线程的一些信息。 比如你想分析 阅读全文
posted @ 2016-12-19 22:50 conanwang 阅读(3340) 评论(0) 推荐(0) 编辑
摘要: 当前CPU都已是NUMA架构,相信除了历史遗留系统,很少会有数据库跑在SMP的CPU上了。NUMA架构带来的优势无言而语,CPU更快的内存访问速度,但是带来的问题也不言而喻,特别是对于数据库的影响。MySQL之前“臭名昭著”的swap问题就是因为NUMA架构导致。大部分同学已经知道应对技巧,即在启动 阅读全文
posted @ 2016-12-14 21:06 conanwang 阅读(3929) 评论(0) 推荐(0) 编辑
摘要: 一 介绍 在笔者支持业务过程中,经常遇到开发咨询replace into 的使用场景以及注意事项,这里做个总结。从功能原理,性能和注意事项上做个说明。二 原理2.1 当表中存在主键但是不存在唯一建的时候。表结构 CREATE TABLE `yy` ( `id` bigint(20) NOT NULL 阅读全文
posted @ 2016-12-07 19:48 conanwang 阅读(1193) 评论(0) 推荐(0) 编辑
摘要: 有时候我们需要将大量数据批量写入数据库,直接使用程序语言和Sql写入往往很耗时间,其中有一种方案就是使用MySql Load data infile导入文件的形式导入数据,这样可大大缩短数据导入时间。 假如是从MySql客户端调用,将客户端的文件导入,则需要使用 load local data in 阅读全文
posted @ 2016-11-30 17:26 conanwang 阅读(34391) 评论(0) 推荐(0) 编辑
摘要: 格式化一个字符串的输出结果,我们在很多地方都可以看到,如:c/c++中都有见过 下面看看python中的字符串格式函数str.format(): 1 #使用str.format()函数 2 3 #使用'{}'占位符 4 print('I\'m {},{}'.format('Hongten','Wel 阅读全文
posted @ 2016-11-24 09:31 conanwang 阅读(600) 评论(0) 推荐(0) 编辑