摘要:
Extra列包含MySQL解决查询的详细信息,有一下几种情况: Using where:列数据是从仅仅使用了索引中的信息而没有读取实际的行动的表返回的,这发生在对表的全表请求列都是同一个索引的部分的时候,表示MySQL服务器将在存储引擎检索行后再进行过滤。 Using temporary:表示MyS 阅读全文
摘要:
Type字段是最重要的字段之一,显示查询使用了何种类型。从最好到最差的连接类型为:system,const,eq_ref,ref,fulltext,ref_or_null,index_merge,unique_subquery,index_subquery,range,index,all。 (1)S 阅读全文
摘要:
Select_type 说明 Simple 简单select(不使用union或子查询) Primary 最外层的select Union Union中第二个或之后的select语句 Dependent union Union中第二个或之后的select语句取决于外面的查询 Union result 阅读全文
摘要:
Select * from 表名 order by id desc limit 1; 例如:Select * from student order by sno desc limit 1; 表student所有数据如下: 阅读全文
摘要:
唯一键冲突 事务回滚 批量申请自增id的策略 阅读全文
摘要:
1、MySQL字符集 MySQL服务器可以支持多种字符集,可以使用show character set命令查看所有MySQL支持的字符集。 在同一台服务器,同一个数据库,甚至同一个表的不同字段都可以指定使用不同的字符集。 MySQL的字符集包括字符集(character)和校对规则(collatio 阅读全文
摘要:
(1)优化count查询 Count是一个特殊的函数,它可以统计某个列值的数量,在统计列值时要求列值是非空的,不会统计null值。如果count中指定了列或列的表达式,则统计的就是这个表达式有值的结果数,而不是null。 Count的另一个作用是统计结果集的行数,当MySQL确定括号内的表达式不可能 阅读全文
摘要:
Id:表示select子句或者操作表的顺序,执行顺序从大到小执行,当id一样时,执行顺序从上往下。 Select_type:表示查询中每个select子句的类型,例如simple表示不包含子查询、表连接或其他复杂语法的简单查询,primary表示复杂查询的最外层查询,subquery表示在selec 阅读全文
摘要:
可以通过两种方式来定位执行效率较低的SQL语句。一种通过慢查询日志定位,可以通过慢查询日志定位那些已经执行完毕的SQL语句。 另一种是使用show processlist查询,慢查询日志在查询结束后才记录,所以在应用反应执行效率出现问题的时候查询慢查询日志不能定位问题,此时可以使用show proc 阅读全文
摘要:
如果索引列出现了隐式类型转换,则MySQL不会使用索引。常见的情况是在SQL的where条件中字段类型为字符串,其值为数值,如果没有加引号那么MySQL不会使用索引。 如果where条件中含有or,除非or前使用了索引列而or之后是非索引列,索引会失效。 MySQL不能在索引中执行like操作,这是 阅读全文