MySQL查询语句执行顺序

每个查询都从在数据库中找到我们需要的数据开始,然后将这些数据过滤到可以尽快处理和理解。由于查询的各个部分都是按顺序执行的,因此了解执行顺序很重要,这样才能知道在哪可以得到什么样的结果。

- 阅读剩余部分 -

Redis处理字符串的方式(SDS)

Redis是一个使用ANSI C编写的开源内存数据结构存储(in-memory data structure store),但是Redis并没有直接使用C语言传动的字符串表示,而是自己构建了一种名为简单动态字符串(Simple Dynamic Strings, SDS)的抽象类型,并将SDS用作Redis的默认字符串表示。

- 阅读剩余部分 -

MySQL的EXPLAIN

发现生产上有一条SQL执行的比较慢,检查了下发现是单表查询,但是一次要2秒多的的时间。EXPLAIN执行的SQL发现type是index,索引基本没用,检查下索引,发现只有一个二级索引,也不适合直接修改原索引,于是加了一个索引。由于是范围查询,做到ref的基本不太可能,所以让type升为range就差不多了。我在我的笔记本上测试了100W的数据由0.6秒左右下降到0.1秒左右。

这次就说说EXPLAIN怎么用吧,这个命令在优化SQL的时候还是挺有用的。

- 阅读剩余部分 -

加载中……