MySQL 执行计划详解

执行计划概述

  MySQL 接收一条Query后,会进行SQL解析,生成语法树,接下来会生成执行计划,选择最优的执行计划进行执行,对于一条SQL,可能有多种执行计划,观察和分析执行计划可以帮助开发人员以及DBA优化SQL.


With the help of EXPLAIN, you can see where you should add indexes to tables so that the statement executes faster by using indexes to find rows. You can also use EXPLAIN to check whether the optimizer joins the tables in an optimal order

阅读全文

MySQL sharding在高并发下的全局ID生成

前言

 生产系统随着业务增长总会经历一个业务量由小变大的过程,可扩展性是考量数据库系统高可用性的一个重要指标;在单表/数据库数据量过大,更新量不断飙涨时,MySQL DBA往往会对业务系统提出sharding的方案。既然要sharding,那么不可避免的要讨论到sharding key问题,在有些业务系统中,必须保证sharding key全局唯一,比如存放商品的数据库等,那么如何生成全局唯一的ID呢,下文将从DBA的角度介绍几种常见的方案。

阅读全文

shell 解析配置文件

 在程序中使用配置文件来灵活的配置一些参数是一件很常见的事情,配置文件的解析并不复杂,Python、php等语言都有丰富的类库。
 shell脚本在日常Linux使用过程中经常用到,但是缺少一些”类库“,本文将通过Linux下的sed等命令,实现一套shell config parser,支持ini类型的配置文件,这种文件由多个section组成,每个section下面有有多个配置项,要求同一配置文件中section不可重复,如下的配置文件中的[db_3306]和[db_3308]就是该配置文件中的section,配置项的value如果有多个值,使用空格隔开。

阅读全文

用原生终端打造Linux的securecrt


  为了访问远程服务器,在windows平台下常用的软件有securecrt、xshell、putty等,这类软件或者收费或者只支持windows平台,对于Linux用户而言,有各种各样的terminal软件,但是相比securecrt这样的商业软件,如终端克隆、自动登陆这样的功能,常见的terminal软件却鲜有支持,本文将介绍如何通过改造默认的terminal打造linux下的’securecrt’,推荐使用terminator或者Yakuake。

阅读全文

Thunderbird 入门

    Mozilla Thunderbird是由Mozilla浏览器的邮件功能部件所改造的邮件工具,使用 XUL 程序界面语言所设计,介面设计更简洁、而且免安装.下面是一些在使用Thunderbird邮件客户端时总结的经验,适用于每天收发海量邮件的用户.

消息过滤器

所谓消息过滤器是一种允许用户根据邮件头信息对收到的邮件进行分类管理的程序.点击Thunderbird菜单栏的工具下拉菜单,可以看到消息过滤器,过滤规则默认提供了”主题”,”收件人”,”发件人”,”日期”,”消息体”等,可以按照自己需求设定,

阅读全文