本文对mysql优化器优化子查询的原理和机制进行了介绍和说明,记录于此,供各位同学及自己参考研究。 ...
分类:
数据库 时间:
2018-12-06 20:32:57
阅读次数:
191
1、避免一些不走索引的查询 1)避免在索引列上使用函数或者计算,如果这样,优化器将不再使用索引而使用全表扫描: Select * from T where hh*10>1000;(低效,优化器不再使用索引) Select * from T where hh>1000/10;(更高效,优化器将使用索引 ...
分类:
数据库 时间:
2018-12-05 12:36:02
阅读次数:
194
一、索引 1、分类 (1)主键索引:当一张表的某个字段设置为主键时,该字段就是主键索引; (2)唯一索引:索引列中的值必须是唯一的,但是允许为空值(可以存在多个null); (3)普通索引:基本索引类型,没有什么限制,允许在定义索引的列中插入重复值和空值,纯粹为了查询数据更快一点; (4)全文索引: ...
分类:
数据库 时间:
2018-11-29 01:33:54
阅读次数:
212
一、SQL语句优化的一般步骤: (1)通过 show status 命令了解各种 SQL 的执行效率; (2)定位执行效率较低的 SQL 语句(重点是 Select); (3)通过 explain 分析低效率的 SQL 语句的执行情况; (4)确实问题并采取相应的优化措施; 二、 1、show st ...
分类:
数据库 时间:
2018-11-28 00:27:20
阅读次数:
245
索引的使用 (1)查询要使用索引最重要的条件是查询条件中的字段建立了索引; (2)下列几种情况可能使用到索引: <1> 对于创建的多列索引,只要查询条件使用了最坐边的列,索引一般就会被使用; <2> 对于使用 like 的查询,查询如果是 “%aaa” 则不会使用到索引;如果是“aaa%”,则会使用 ...
分类:
数据库 时间:
2018-11-27 01:38:52
阅读次数:
268
MySql的优化是一个综合性的技术,主要包括有: (1)表的设计合理化(符合 3NF 三范式) (2)添加适当的索引(Index);索引分类:普通索引、主键索引、唯一索引、全文索引(文本)、空间索引。 (3)分表技术(水平分割、垂直分割) (4)读写分离(写:update/add/delete) ( ...
分类:
数据库 时间:
2018-11-27 01:26:29
阅读次数:
189
part 1 sql执行流程(如下图所示) 1、客户端发送一条查询到服务器。 2、服务器通过权限检查后,先检查查询缓存,命中则直接返回结果。否则进入3。 3、服务器进行sql解析,预处理,再由优化器根据该sql涉及到的数据表的信息计算,生成执行计划。 4.、MySQL根据优化器生成的执行计划,调用存 ...
分类:
数据库 时间:
2018-11-26 23:20:43
阅读次数:
401
创建索引时候 首先生成索引文件 根 中间位置 左边小于 最右边大于 索引的缺点: 增加 删除 索引文件也需要更新 索引 什么是索引 索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存。如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表的所有记录,直至找到符合 ...
分类:
其他好文 时间:
2018-11-23 15:25:29
阅读次数:
134
MySQL优化分库分表,为什么要分表,分表以后如何进行排序查询,业务如何设计? 昨天面试新人的时候,遇到了这么一个问题,按照自己的想法大体聊了一些,但大多是感性的,并没有完整的了解why and how. 今天查了一些相关的资料,包括《MySQL性能调优与架构设计》、《高性能Mysql》,慢慢的整体 ...
分类:
数据库 时间:
2018-11-22 12:29:33
阅读次数:
431
说起MySQL的查询优化,相信大家收藏了一堆奇技淫巧:不能使用SELECT *、不使用NULL字段、合理创建索引、为字段选择合适的数据类型..... 你是否真的理解这些优化技巧?是否理解其背后的工作原理?在实际场景下性能真有提升吗?我想未必。因而理解这些优化建议背后的原理就尤为重要,希望本文能让你重 ...
分类:
数据库 时间:
2018-11-21 16:03:11
阅读次数:
194