MySQL表优化
MySQL表优化
sunset_ggz
这个作者很懒,什么都没留下…
展开
-
优化 OR 条件
优化 OR 条件 对含有 OR 的查询子句,如果要利用索引,则 OR 之间的每个条件列都必须用到索引;如果没有索引,则应该考虑增加索引。(如果 or 有一个条件没有索引,MySQL 认为全表扫描最优。因为 or 条件列中有没有索引的,那么查询肯定要走全表扫描,在存在全表扫描的情况下,就没有必要多一次索引扫描增加 I/O 访问,一次全表扫描过滤条件就可以了。) 1、在两个独立索引上做 OR 操作,可以发现查询正确用到了索引,从执行计划的描述中,发现处理含有 OR 字段的查询是,实际上是对 OR 的各个原创 2020-06-05 00:22:36 · 1282 阅读 · 1 评论 -
分析SQL执行情况
分析SQL执行情况 mysql> select * from sys.statement_analysis where rows_examined > 0 and rows_affected > 0 order by exec_count desc limit 1 \G; *************************** 1. row *************************** query: UPDATE `a1` SET `b` = ? WHER原创 2020-06-01 01:08:16 · 358 阅读 · 0 评论 -
表的详细使用情况
表的详细使用情况 查看实例启动以来每个表的详细使用情况 mysql> select * from sys.schema_table_statistics order by rows_fetched + rows_inserted + rows_updated + rows_deleted desc limit 1 \G; *************************** 1. row *************************** table_schema: test原创 2020-06-01 01:05:57 · 211 阅读 · 0 评论 -
找出冗余索引
找出冗余索引 最左原则 :例如表 A 有 3 个索引, index1(a,b),index2(a),index3(b)。index1(a,b) 最左边第一个字段包含了 index2,所以 index2 是冗余的索引,建议删掉。 mysql> select * from sys.schema_redundant_indexes limit 1\G; *************************** 1. row ***************************原创 2020-06-01 01:03:39 · 323 阅读 · 0 评论 -
优化表的数据类型
优化表的数据类型 1、查看表结构 mysql> desc t2; +-------------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------------+-------------+------+-----+---------+-------+ | id | bigint(32) | NO原创 2020-05-30 23:52:59 · 127 阅读 · 0 评论