怎么看mysql解析结果 怎么查看mysql表结构

mysql怎么解析binlog文件你进入mysql /bin目录下你可以看到有一个mysqlbinlog可执行文件,只要 在命令下 ~ mysqlbinlog binlog文件 就可以查看咯,一般做增量备份,查看数据操作或是恢复数据才看这个的吧
mysql explain 怎么看explain显示怎么看mysql解析结果了mysql如何使用索引来处理select语句以及连接表 。可以帮助选择更好的索引和写出更优化的查询语句 。
使用方法怎么看mysql解析结果 , 在select语句前加上explain就可以怎么看mysql解析结果了怎么看mysql解析结果,如怎么看mysql解析结果:
explain select * from statuses_status where id=11;
explain列的解释
table:显示这一行的数据是关于哪张表的
type:这是重要的列 , 显示连接使用了何种类型 。从最好到最差的连接类型为const、eq_reg、ref、range、indexhe和all
possible_keys:显示可能应用在这张表中的索引 。如果为空,没有可能的索引 。可以为相关的域从where语句中选择一个合适的语句
key: 实际使用的索引 。如果为null,则没有使用索引 。很少的情况下 , mysql会选择优化不足的索引 。这种情况下,可以在select语句中使用use index(indexname)来强制使用一个索引或者用ignore index(indexname)来强制mysql忽略索引
key_len:使用的索引的长度 。在不损失精确性的情况下,长度越短越好
ref:显示索引的哪一列被使用了,如果可能的话,是一个常数
rows:mysql认为必须检查的用来返回请求数据的行数
extra:关于mysql如何解析查询的额外信息 。将在表4.3中讨论,但这里可以看到的坏的例子是using temporary和using filesort,意思mysql根本不能使用索引 , 结果是检索会很慢
如何查看mysql消耗的逻辑读和物理读情况对于查询处理,可将其分为逻辑查询处理和物理查询处理 。逻辑查询处理表示执行查询应该产生什么样的结果,而物理查询代表MySQL数据库是如何得到结果的 。
逻辑查询处理
MySQL真正的执行顺序如下:
(8)SELECT (9)DISTINCTselect_list
(1)FROM left_table
(3)join_typeJOINright_table
(2)ON join_condition
(4)WHERE where_condition
(5)GROUP BY group_by_list
(6)WITH {CUBE|ROLLUP}
(7)HAVINGhaving_condition
(10)ORDER BYorder_by_list
(11)LIMIT limit_number
FORM:对FORM子句中的左表 left_table和右表right_table 执行笛卡儿积,产生虚拟表VT1 。
ON:对虚拟表VT1应用ON筛?。?只有那些符合 join_condition 的行才被插入到虚拟表VT2中 。
JOIN:如果指定了OUTER JOIN,那么保留表中未匹配的行作为外部行添加到虚拟表VT2中,产生虚拟表VT3 。如果FROM字句包含两个以上表,则对上一个连接生成的结果表VT3和下一个表重复执行步骤1~步骤3 , 直到处理完所有的表为止 。
WHERE:对虚拟表VT3应用WHERE过滤条件,只有符合 where_condition 的记录才被插入到虚拟表VT4中 。
GROUP BY:根据GROUP BY子句中的列,对VT4中的记录进行分组操作 , 产生虚拟表VT5.
CUBE|ROLLUP:对虚拟表VT5进行 CUBE或ROLLUP , 产生VT6.
HAVING:对虚拟表VT6应用HAVING过滤器,只有符合 having_condition 的记录才能被插入虚拟表VT7.
SELECT:第二次执行SELECT操作,选择指定的咧,插入到虚拟表VT8 。
DISTINCT:去除重复数据,产生虚拟表VT9 。
ORDER BY:将虚拟表VT9中的记录按照 order_by_list 进行排序操作,产生虚拟表VT10 。
LIMIT:取出指定行的记录,产生虚拟表VT11,并返回给查询用户 。
物理查询处理
上面是逻辑查询处理,但是数据库也许并不会按照逻辑查询处理的方式进行查询 。MySQL数据库层有Parser和Optimizer两个组件 。Parser的工作就是分析SQL语句,而Optimizer的工作就是对这个SQL语句进行优化,选择一条最优的路径来选取数据,但是必须保证物理查询处理的最终结果和逻辑查询处理的结果是相等的 。

推荐阅读