MySQL索引优化实战-索引错选
上周末在跟朋友描述以前做过的一个SQL优化案例时,提到原因是SQL错选索引,而当时我提出的优化方案之一是删除索引,朋友很惊讶,说他还没遇到过通过删除索引优化SQL的案例
这周抽空回看了下之前邮件发出的方案,觉得还是值得说一下
SQL错选索引,常见的原因是统计数据不准导致,通过对表执行analyze table table_name
,重新做下统计即可,但这次遇到的索引错选,却不是因为统计数据问题
上周末在跟朋友描述以前做过的一个SQL优化案例时,提到原因是SQL错选索引,而当时我提出的优化方案之一是删除索引,朋友很惊讶,说他还没遇到过通过删除索引优化SQL的案例
这周抽空回看了下之前邮件发出的方案,觉得还是值得说一下
SQL错选索引,常见的原因是统计数据不准导致,通过对表执行analyze table table_name
,重新做下统计即可,但这次遇到的索引错选,却不是因为统计数据问题
Maven是一款基于插件作业的构建工具,它自身内置了非常多我们平常开发所需要的插件。如清理资源插件maven-clean-plugin
,编译插件maven-compiler-plugin
,打包插件maven-jar-plugin
等。在工作中,我们也可以开发自己的插件,帮助我们提高开发效率
下方以开发一个统计目录下所有文件的内容行数的插件为例
目前我所在公司,申请数据库时,基本都是MySQL主从交付。这篇文章,也主要讲下MySQL主从
MySQL高可用是基于binlog。对binlog的解释,可以参看下官方文档
The binary log is a set of log files that contain information about data modifications made to a MySQL server instance. The log is enabled by starting the server with the
--log-bin
option
默认binlog是关闭的,可以通过下方语句查询得到Value为OFF
1 | show variables like 'log_bin'; |
要打开binlog,可以通过修改配置文件/etc/my.cnf(Unix like系统下的配置),重启MySQL
1 | [mysqld] |
因为最近在验证binlog相关功能,所以想修改log-bin参数以启用该功能,所以需要修改配置文件。以下是踩坑之后总结出的过程
查看官方文档后,知道下述方式均可修改启动配置文件,顺序是从上往下读,后面的会覆盖前面的
File Name | Purpose |
---|---|
/etc/my.cnf |
Global options |
/etc/mysql/my.cnf |
Global options |
* SYSCONFDIR*/my.cnf |
Global options |
$MYSQL_HOME/my.cnf |
Server-specific options (server only) |
defaults-extra-file |
The file specified with --defaults-extra-file , if any |
~/.my.cnf |
User-specific options |
~/.mylogin.cnf |
User-specific login path options (clients only) |
Lock接口
1 | public interface Lock { |
面试结束写面试评价
这是一篇写于2017年的博客,发表在QQ空间。觉得还是有参考意义,所以再次Copy到这个博客中
为什么我要带新人?
其实我也没有搞懂这个问题。和面试一样,既不属于KPI考核,带的过程花自己不少时间精力,还有老生常谈的教出徒弟饿死师傅。完全就是一个吃力不讨好的工作。但,对于我本人来说,既然是上级安排的任务,我就不得不做。而要做,我就想把它做好。不能接受后,不愿意做,然后应付了事。被上级、其他同事、新人所鄙视,不符合我的价值观。另外,教出徒弟饿死师傅的事情,我觉得本质上还是因为师父做得不够。一代总比一代强,个人无法对抗这种趋势,并不存在师父不教徒弟,徒弟就永远不会超越师父的定律,要想不被淘汰,总归还是打铁需要自身硬
带新人的目的是什么?
公司招人的目的是为了分担老员工的任务(原有任务或者即将要新增的任务),至少在基层是这样。那带新人的目的就可以简单的说成:让新人在短时间内能够胜任岗位要求,并且持久的为公司产生效益
。抽取出关键词,短时间内胜任、持久,我们暂且先谈这两点吧,怎么做到这些