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

app网站开发定制个人网页设计背景图片素材

app网站开发定制,个人网页设计背景图片素材,中国房地产十大排名,皖icp网站建设☘️博主介绍☘️#xff1a; ✨又是一天没白过#xff0c;我是奈斯#xff0c;DBA一名✨ ✌✌️擅长Oracle、MySQL、SQLserver、Linux#xff0c;也在积极的扩展IT方向的其他知识面✌✌️ ❣️❣️❣️大佬们都喜欢静静的看文章#xff0c;并且也会默默的点赞收藏加关注❣… ☘️博主介绍☘️ ✨又是一天没白过我是奈斯DBA一名✨ ✌✌️擅长Oracle、MySQL、SQLserver、Linux也在积极的扩展IT方向的其他知识面✌✌️ ❣️❣️❣️大佬们都喜欢静静的看文章并且也会默默的点赞收藏加关注❣️❣️❣️ 士别三日自上次分享以来大家应该对上篇的文章内容进行了深入消化与理解。今天给大家带来第二篇的内容——执行计划。在上篇文章中我们有了解到optimizer优化器根据统计信息对每个sql语句执行最优的执行计划执行计划受统计信息影响。并且通过执行计划能够帮助我们了解数据库在执行查询时采用的具体策略、使用的索引以及各种操作的执行顺序等信息因此对于SQL查询的优化非常重要。 因为统计信息和执行计划涉及到的内容过多为了使大家更好消化我将分成三篇文章来进行介绍以便大家因为篇幅过长而感到阅读疲惫。三篇的内容分别如下让大家先做了解 第一篇持久化和非持久化统计信息介绍 第二篇执行计划介绍当前篇 第三篇执行计划之覆盖索引Using index和条件过滤Using where详细介绍 目录 查看SQL的执行计划 explain语法一explain SQL语句默认FORMAT TRADITIONAL输出格式为表格 explain语法二explain FORMAT JSON SQL语句 explain语法三explain FORMAT TREE SQL语句 explain语法四explain analyze SQL语句 废话不多说让我们开始今天的内容。 MySQL中的SQL执行计划能够帮助我们了解数据库在执行查询时采用的具体策略、使用的索引以及各种操作的执行顺序等信息因此对于SQL查询的优化非常重要。下面是SQL执行计划在SQL查询优化中的作用 1评估查询性能SQL 执行计划可以让我们了解到 MySQL 在执行查询时所采用的具体策略和每个步骤所需的时间从而评估查询的性能表现。比如我们可以查看每个操作使用的索引类型或临时表的创建情况有助于我们确定查询是否需要进行优化以及应该优化哪些部分。 2定位性能问题如果SQL查询执行缓慢我们可以通过 SQL 执行计划来定位性能问题所在。例如我们可以查看查询语句中是否存在不必要的排序、全表扫描、临时表创建等问题从而确定性能瓶颈并进行调整。 3判断索引是否有效SQL 执行计划可以让我们了解到 MySQL 是否使用了正确的索引来执行查询进而判断我们为表设置的索引是否有效。如果 MySQL 没有使用索引那么可能是我们设置的索引有问题需要重新考虑索引的创建方式。 4选择正确的查询方案在SQL查询优化中有时候我们需要选择不同的查询方案来完成同样的查询操作。SQL 执行计划可以让我们了解到MySQL计划使用哪种查询方案并可以根据不同的情况调整查询方案或者SQL语句结构。 总之SQL 执行计划是 SQL 查询优化的重要工具可以帮助我们找到问题所在优化查询性能并提高数据库的运行效率。 查看SQL的执行计划 通过explain查看执行计划的方式有多种今天主要是详细介绍语法一其他的方式我这里不多做介绍因为都是大同小异有兴趣的小伙伴可以私信我。 EXPLAIN语法 官方文档对EXPLAIN的介绍MySQL :: MySQL 8.0 Reference Manual :: 15.8.2 EXPLAIN Statement {EXPLAIN | DESCRIBE | DESC}     tbl_name [col_name | wild] {EXPLAIN | DESCRIBE | DESC}     [explain_type]     {explainable_stmt | FOR CONNECTION connection_id} {EXPLAIN | DESCRIBE | DESC} ANALYZE [FORMAT TREE] select_statement explain_type: {     FORMAT format_name } format_name: {   | TRADITIONAL   | JSON   | TREE } explainable_stmt: {   | SELECT statement   | TABLE statement   | DELETE statement   | INSERT statement   | REPLACE statement   | UPDATE statement } EXPLAIN [options] FOR CONNECTION connection_id获取在命名连接中执行的可解释语句的执行计划。意思就是在另一个会话上去查看其他会话正在执行SQL的执行计划通常的做法是在另一个会话上输入show porcesslist或者其他查询SQL的语句有正在执行的SQL那么通过EXPLAIN [options] FOR CONNECTION加上show processlist输出的ID那么可以看到相关SQL的执行计划。 FORMAT format_name选项可用于选择输出格式。默认以表格格式显示输出(FORMAT TRADITIONAL)。可以指定其他输出格式JSON格式以JSON格式显示信息(FORMAT JSON)。在MySQL 8.0.16及更高版本中TREE提供了树状输出(FORMAT TREE)比传统格式更精确地描述了查询处理并且它是唯一显示哈希连接用法的格式和EXPLAIN ANALYZE输出的内容大致相同。在MySQL 8.0.32中添加的explain_format系统变量在用于获取表列信息时影响对explain的输出参数的值包括TRADITIONAL (DEFAULT)、JSON、TREE。 explainable_stmtEXPLAIN适用于SELECT、DELETE、INSERT、REPLACE和UPDATE语句的执行计划的解析。在MySQL 8.0.19及更高版本中它还可以使用TABLE语句TABLE语句是MySQL 8.0.19中引入的DML语句它返回指定表的行和列和SELECT查询表有些类似但功能又没SELECT多。 注意SQL语句加上explain不会真正执行SQL语句它仅会模拟MySQL在执行该语句时所做的操作并返回MySQL在执行该语句时使用的查询计划信息。 explain语法一explain SQL语句默认FORMAT TRADITIONAL输出格式为表格 mysql explain select * from tb t1 join tb2 t2 on t1.idt2.id; 需要特别关注的字段type、possible_keys、key、key_len、ref、rows、Extra。官方文档解释输出列MySQL :: MySQL 8.0 Reference Manual :: 10.8.2 EXPLAIN Output Format idJSON名称select_idSELECT标识符。这是查询中SELECT的序列号。如果该行引用其他行的并集结果则该值可以为NULL。在这种情况下表列显示一个类似于union M,N的值表示该行指的是id值为M和N的行的并集。 select_typeJSON名称无SELECT的类型。JSON格式的EXPLAIN将SELECT类型公开为query_block的属性除非它是SIMPLE或PRIMARY。类型比较多参考官方文档。 tableJSON名称table_name输出行所引用的表的名称。 partitionsJSON名称partitions查询将从中匹配记录的分区。对于未分区的表该值为NULL。 typeJSON名称access_type联接类型。类型比较多参考官方文档。 possible_keysJSON名称possible_ keyspossible_keys列表示MySQL可以从中选择查找该表中的行的索引。请注意此列完全独立于EXPLAIN输出中显示的表的顺序。这意味着possible_keys中的一些键在实际中可能无法使用生成的表顺序。如果此列为NULL或在JSON格式的输出中未定义则不存在相关索引。在这种情况下您可以通过检查WHERE子句来检查它是否引用了适合进行索引的一个或多个列从而提高查询的性能。如果是请创建一个适当的索引ALTER TABLE语句并再次使用EXPLAIN检查查询。要查看表的索引请使用SHOW INDEX FROM tbl_name。 keyJSON名称key这key列表示MySQL实际决定使用的键(索引)。如果MySQL决定使用possible_keys索引来查找行该索引被列为键值。有可能key可以命名一个不在possible_keys价值。如果没有一个possible_keys索引适合于查找行但是查询选择的所有列都是其他索引的列。也就是说命名索引覆盖了所选的列因此尽管它不用于确定要检索哪些行但索引扫描比数据行扫描更有效。 为InnoDB即使查询也选择了主键辅助索引也可能会覆盖选定的列因为InnoDB存储每个辅助索引的主键值。如果key是NULLMySQL找不到索引来更有效地执行查询。要强制MySQL使用或忽略possible_keys列使用FORCE INDEX, USE INDEX或者IGNORE INDEX在您的查询中。看见第8.9.4节“索引提示”. 为MyISAM表格运行ANALYZE TABLE帮助优化器选择更好的索引。为MyISAM表格myisamchk -分析做同样的事。看见13.7.3.1“分析表语句”一节以及第7.6节“MyISAM表维护和故障恢复”. key_lenJSON名称key_lengthkey_len列表示MySQL决定使用的密钥的长度。key_len的值使您能够确定MySQL实际使用多部分密钥的多少部分。如果key列表示NULL那么key_len列也表示NULL。由于密钥存储格式的原因可以为NULL的列的密钥长度比NOT NULL列的密钥长一个。 refJSON名称refref列显示将哪些列或常量与键列中命名的索引进行比较以便从表中选择行。如果该值是func则使用的值是某个函数的结果。要查看哪个函数请在EXPLAIN后面使用SHOW WARNINGS来查看扩展的EXPLAIN输出。函数实际上可能是一个运算符例如算术运算符。 rowsJSON名称rowsrows列表示MySQL认为执行查询必须检查的行数。这里的行数和自动更新持久化统计信息是一致的所以会出现与实际count(*)数据量差距较大可以这个文档的2、统计信息的案例“6解决统计信息差别较大的问题执行计划受统计信息影响统计信息不准会导致执行计划不准” filteredJSON名称filtered已筛选列表示按表条件筛选的表行的估计百分比。最大值为100这意味着没有对行进行筛选。从100开始递减的值表示过滤量的增加。rows显示检查的估计行数rows×filtered显示与下表连接的行数。例如如果行数为1000过滤后的行数为50.0050%则与下表连接的行数是1000×50%500。 ExtraJSON名称无本列包含有关MySQL如何解析查询的其他信息。没有一个JSON属性对应于Extra列但是此列中可能出现的值将作为JSON属性或消息属性的文本公开。类型比较多参考官方文档。 explain语法二explain FORMAT JSON SQL语句 mysql explain FORMAT JSON select * from tb t1 join tb2 t2 on t1.idt2.id\G; explain语法三explain FORMAT TREE SQL语句 mysql explain FORMAT TREE select * from tb t1 join tb2 t2 on t1.idt2.id\G; explain语法四explain analyze SQL语句 mysql explain analyze select * from tb t1 join tb2 t2 on t1.idt2.id\G; 今天执行计划的内容就介绍到这里只是对执行计划输出的内容做了介绍下一篇我会用实例执行的执行计划的案例来介绍。
http://www.zqtcl.cn/news/593562/

相关文章:

  • 开网站流程开发公司起名
  • 免费建站优化网站基本设置
  • 网站建设需要上传数据库吗seo自己做网站吗
  • 网站制作ppt杭州网站的特点
  • 美丽寮步网站建设价钱杭州网站设计询问蓝韵网络
  • 毕节网站建设公司网站职业技术培训学校
  • 果洛wap网站建设比较好17岁在线观看免费高清完整版
  • 一级a做爰片在线看免播放器网站一个网站突然打不开
  • 聊城网站开发培训wordpress实时预览载入中
  • 网站设计文章国际转运网站建设
  • 南充市建设厅官方网站购物网站设计说明
  • 防疫网站网页设计wordpress不同侧边栏
  • 网站的建设多少钱长春市招标建设信息网
  • 网站加速代码百度浏览器app
  • 关于配色的网站企业宣传册文案范文
  • 免费推广网站教程湖南中核建设工程公司官方网站
  • 莱阳网站建设公司彩票类网站是如何做代理的
  • 食品公司网站建设广州做网站制作公司
  • 网站上传服务器教程搜索网站存在的关键字
  • 天河建设网站多少钱网络公司网站样本
  • 做的精美的门户网站推荐附近编程培训机构
  • 台州黄岩做网站太原网站建设王道下拉惠
  • 深圳设计网站公司互联网服务平台投诉中心
  • 做seo网站优化哪家强济南网站建设公司排名
  • tp5网站文档归档怎么做手机虚拟机哪个好用
  • 网站建设公司的业务范围万网做网站多少钱
  • 做网站要用写接口6wordpress 汽车租赁
  • 网站开发方向paypal账号注册
  • 如何选择做pc端网站重庆平台网站建设企业
  • 一个人做网站好累电子商城采购流程