当前位置: 首页 > news >正文

网站视图错位html教程视频教程

网站视图错位,html教程视频教程,青岛网站建设q479185700棒,图片模板 网站源码在MySQL中,EXPLAIN是一个强大的工具,用于获取关于SELECT语句执行计划的信息。当你对查询性能有疑问时,使用EXPLAIN可以帮助你理解MySQL如何执行你的查询,并可能揭示性能瓶颈。 以下是EXPLAIN输出中各个列的详细解释: …

  在MySQL中,EXPLAIN是一个强大的工具,用于获取关于SELECT语句执行计划的信息。当你对查询性能有疑问时,使用EXPLAIN可以帮助你理解MySQL如何执行你的查询,并可能揭示性能瓶颈。

以下是EXPLAIN输出中各个列的详细解释:

一、 id

  1.查询的标识符。每个SELECT都有一个唯一的标识符。

  2.如果查询中有子查询,那么这个ID可以显示子查询的顺序。

二、select_type

查询的类型

常见的值有:

  1.SIMPLE:简单的SELECT,不包含子查询或UNION

  2.PRIMARY:查询中最外层的SELECT

  3.UNION、DEPENDENT UNION:内层查询依赖于外层查询的结果集

  4.UNION RESULT:UNION的结果集

  5.SUBQUERY:子查询中的第一个SELECT

三、table

  1.输出结果集的表。

  2.如果查询涉及多个表,则此列表示MySQL决定按哪个表的顺序来连接它们。

四、type

连接类型

这是非常重要的列,因为它显示了MySQL决定如何连接表

常见的值有:

  1.system:表只有一行,等于const

  2.const:表最多有一个匹配行

  3.eq_ref:所有部分都使用了唯一索引或主键

  4.ref:非唯一索引或唯一索引的非唯一前缀

  5.fulltext:使用全文索引

  6.ref_or_null:与ref类似,但增加了对NULL值的搜索

  7.index_merge:表示使用了索引合并优化方法

  8.unique_subquery:用于IN子查询,以确保子查询返回唯一值

  9.index_subquery:与unique_subquery类似,但可能返回非唯一值

  10.range:对索引进行范围查找

  11.index:全索引扫描,比全表扫描稍快

  12.ALL:全表扫描

五、possible_keys

显示可能应用在这张表中的索引。注意是可能,但不一定真的会用到。

  1.key:实际使用的索引。如果为NULL,则没有使用索引。

  2.key_len:使用的索引的长度。在不使用全部索引列的情况下,可以为你提供实际使用的索引部分的信息。

  3.ref:显示哪些列或常量被用作索引查找上的参考点。

  4.rows:MySQL估计必须检查的行数来找到相关的行。注意这是一个估计值。

  5.filtered:表示返回结果的行数占需要检查的行数的百分比。

六. Extra

包含不适合在其他列中显示的额外信息。

  1.Using filesort:MySQL需要对结果进行排序,这通常意味着没有可用的索引来完成排序操作,因此可能导致性能下降。

  2.Using temporary:表示MySQL需要使用临时表来保存查询结果,这可能会增加I/O操作并降低性能。

  3.Using index:表示查询只需要访问索引,而无需访问数据行。这通常意味着查询会更快。

  4.Using where:表示使用了WHERE子句来过滤结果。

  5.Using join buffer:表示使用了连接缓冲区来辅助连接操作。

代码示例

EXPLAIN SELECT *  from users
+----+-------------+-------+------------+------+---------------+------+---------+------+------+----------+-------------+  
| id | select_type | table | partitions | type | possible_keys | key  | key_len | ref  | rows | filtered | Extra       |  
+----+-------------+-------+------------+------+---------------+------+---------+------+------+----------+-------------+  
|  1 | SIMPLE      | users | NULL       | ref  | idx_name      | idx_name | 767    | const|    1 |   100.00 | Using where |  
+----+-------------+-------+------------+------+---------------+------+---------+------+------+----------+-------------+

  在这个示例中,type 是 ref,表示 MySQL 使用了非唯一索引或唯一索引的非唯一前缀来连接表。possible_keys 和 key 列都显示了 idx_name 索引被使用。rows 列为 1,表示 MySQL 估计只需检查 1 行就能找到匹配的行。Extra 列中的 Using where 表示 MySQL 使用了 WHERE 子句来过滤结果。

七、优化建议

1.type = ALL (全表扫描)
  建议:添加适当的索引,尤其是WHERE子句、JOIN条件和ORDER BY子句中涉及的列。

2.type = index (全索引扫描)
  建议:如果查询只需要索引中的部分信息而不是整行数据,考虑使用COVERING INDEX(覆盖索引),即索引包含了查询所需的所有数据。

3.rows列的值非常大
建议:检查WHERE子句是否足够严格以限制返回的行数。考虑添加或修改索引以减少需要检查的行数。

4.key_len列的值非常大
  建议:如果key_len的值很大,可能是因为索引包含了较大的列(如VARCHAR(255))或复合索引中有很多列。考虑使用更小的数据类型或更少的索引列。

5.possible_keys列有值但key列为NULL
  建议:即使MySQL识别到可能有用的索引,但由于某些原因(如索引不是最优选择、统计信息不准确等)它没有使用。考虑重新评估索引策略或更新统计信息。

6.Extra = Using filesort
  建议:如果排序是必需的,考虑添加复合索引,将ORDER BY子句中的列作为索引的一部分。如果可能,避免在查询中混合使用ASC和DESC排序。

7.Extra = Using temporary
  建议:对于涉及GROUP BY、DISTINCT或UNION等操作的查询,确保使用了合适的索引。考虑重写查询以减少临时表的使用

http://www.yayakq.cn/news/315181/

相关文章:

  • 杭州企业网站设计模板做网站的都是直男癌吗
  • wordpress网站速度检测网站建设p2p
  • 英文在线购物网站建设企业展厅设计公司价格表
  • 郑州社交网站开发网站建设方案可行性
  • 自用电脑做网站营销网站建设的重要性
  • 男女情感类网站网站建设歺首选金手指14
  • 厦门网站建设满山红怎么样创建做零食山楂的网站
  • 网站建设0基础学起网站开发费用鉴定
  • 个人主题网站鸽WordPress主题
  • wordpress 删除 评论超级优化系统
  • 哪个网站可以接图纸做海南省住房和城乡建设厅官网网站首页
  • 科技网站哪个好建设网站对企业有什么好处
  • 凤泉网站建设建立网站第一步怎么做
  • 如何做网站建设团队建设第五次普查数据自网站怎么做
  • 类似情侣空间的网站开发电子商务网站建设合同书
  • 网站建设科技互联网行业市场分析
  • 网站推广总结客户网站回访
  • 钦州网站网站建设自己建私人网站做外贸不好做
  • 网站建设张家港招聘网站制作公司
  • 完整网站开发流程网站制作的公司哪家比较好
  • 宁波网站优化公司推荐wordpress条件搜索
  • 专业广州网站设计杭州富阳区网站建设公司
  • 违法网站怎么做安全wordpress 购物网站
  • 合肥建设局网站官网wordpress架构分析
  • 湘潭网站建设优化技术网站规划包含哪些内容
  • j建设银行查数据的网站网站的设计与实现
  • 阿玛尼手表网站县门户网站建设整改
  • 子网站建设学院网站群建设的目标
  • 手机钓鱼网站制作网站建设目录
  • 修改WordPress网站微信app下载安装免费