- 博客(7)
- 资源 (5)
- 收藏
- 关注
原创 MySQL高级 之 order by、group by 优化
order by示例示例数据: Case 1 Case 2 Case 3 Case 4 结论:order by子句,尽量使用Index方式排序,在索引列上遵循索引的最佳左前缀原则。 复合(联合)索引形如 key (‘A1’,’A2’,’A3’ ),排序的思路一般是,先按照A1来排序,A1相同,然后按照A2排序,以此类推,这样对于(A1),(A1,A2), (A1,A2,A3)的索引都是有
2017-05-22 17:57:14 33604 5
原创 MySQL高级 之 in和exists
in是把外表和内表作hash连接,而exists是对外表作loop循环,每次loop循环一次对内表进行一次查询。 如果查询的两个表大小相当,那么用in和exists差别不大;如果两个表中一个较小一个较大,则子查询表大的用exists,子查询表小的用in;表A(小表),表B(大表)注意: A表与B表的id字段应建立索引select * from A where id in (select id fr
2017-05-19 17:24:13 1040
原创 MySQL高级 之 索引失效与优化详解
案例所用的表结构、索引、与数据如下: 索引失效与优化1、全值匹配我最爱2、最佳左前缀法则(带头索引不能死,中间索引不能断)如果索引了多个列,要遵守最佳左前缀法则。指的是查询从索引的最左前列开始 并且 不跳过索引中的列。 正确的示例参考上图。错误的示例: 带头索引死: 中间索引断(带头索引生效,其他索引失效): 3、不要在索引上做任何操作(计算、函数、自动/手动类型转换),不然会导致索引
2017-05-16 18:40:27 39514 20
原创 MySQL高级 之 索引面试题分析
索引优化简单案例单表需求:查询category_id为1 且 comments大于1 的情况下,views最多的id 1、无索引的情况下: 很显然,type是ALL,即最坏的情况,Extra还出现了Using filesort也是最坏的情况,必须优化2、优化一:where条件全部建索引 复合索引中的使用到的“comments > 1”是一个范围检索,带来的好处是将type提升为range,
2017-05-16 11:33:15 18715 2
原创 MySQL高级 之 explain执行计划详解
使用explain关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理你的SQL语句的,分析你的查询语句或是表结构的性能瓶颈。explain执行计划包含的信息其中最重要的字段为:id、type、key、rows、Extra各字段详解idselect查询的序列号,包含一组数字,表示查询中执行select子句或操作表的顺序 三种情况: 1、id相同:执行顺序由上至下 2、id不同:
2017-05-09 22:55:10 84498 26
原创 MySQL索引介绍
什么是索引MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。由此可得到索引的本质是一种数据结构。简单理解为:排好序的快速查找数据结构一般来说索引本身也很大,不可能全部存储在内存中,因此索引往往以索引文件的形式存储在磁盘上。我们平常所说的索引,如果没有特别指明,一般都是指B树结构组织的索引(B+树索引)。B+树索引检索原理 优缺点优点:1、类似图书馆书目索引
2017-05-02 23:15:17 912 1
原创 MySQL逻辑架构、SQL加载执行顺序、七种JOIN模式图解
逻辑架构 存储引擎查看当前安装的mysql提供的存储引擎查看当前mysql默认的存储引擎MyISAM和InnoDBSQL加载执行顺序sql书写顺序mysql解析器执行的顺序 考点:mysql是从from开始解析的七种JOIN模型详解
2017-05-02 21:45:04 2918 1
dubbo入门教程
2017-03-01
dubbo-dubbo-2.5.3(包含依赖hessian-lite、opensesame)
2017-03-01
Android zxing二维码扫描个人优化版(第二版)
2015-11-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人