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

做本地房产网站青岛网站建设技术外包

做本地房产网站,青岛网站建设技术外包,用wordpress做开发,网站框架都有什么用什么是执行计划? SQL的执行计划,通俗来说就是SQL的执行情况,一条SQL语句扫描哪些表,那个子查询先执行,是否用到了索引等等,只有当我们知道了这些情况之后才知道,才可以更好的去优化SQL&#xf…

什么是执行计划?

SQL的执行计划,通俗来说就是SQL的执行情况,一条SQL语句扫描哪些表,那个子查询先执行,是否用到了索引等等,只有当我们知道了这些情况之后才知道,才可以更好的去优化SQL,而这个过程MySQL帮助我们生成好了,这就是执行计划。

执行计划的作用?

  • 可以看到表的读取顺序。
  • 可以直观看到索引的使用情况。
  • 可以看到每张表中的数据查询情况,有多少条数据被扫描获取。
  • 可以看到查询表数据的类型。

一句话概括,可以帮我们写出优雅、高性能的SQL。

准备数据:

#创建user表
CREATE TABLE `user` (`id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键id',`user_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '用户姓名',`user_code` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '用户工号',`age` tinyint DEFAULT NULL COMMENT '用户年龄',`address` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '用户地址',`hobby` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '用户爱好',PRIMARY KEY (`id`) USING BTREE,KEY `index_name` (`user_name`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='用户表';#准备数据
INSERT INTO `user`(id, user_name, user_code, age, address, hobby)VALUES(1, '张三', 'TC-00000001', 25, '湖北', '篮球');
INSERT INTO `user`(id, user_name, user_code, age, address, hobby)VALUES(2, '李四', 'TC-00000001', 26, '湖南', '足球');
INSERT INTO `user`(id, user_name, user_code, age, address, hobby)VALUES(3, '王五', 'TC-00000001', 23, '广东', '电影');#创建索引
create index  index_name on user(user_name);

查看user表中的所有索引:

show index from user;

结果:
在这里插入图片描述

查看执行计划的语法:

  • explain + SQL查询语句。
  • desc + SQL查询语句,估计有部分同学不知道desc 这个关键字还可以查看执行计划。

使用explain 查看SQL执行计划:

# 
explain select * from user where user_name='张三';;

执行计划:
在这里插入图片描述

使用desc 查看SQL执行计划:

# 
desc select * from user where user_name='张三';;

执行计划:
在这里插入图片描述
根据对比可以看出explain、desc 都可以看SQL的执行计划。

执行计划各个指标的说明:

  • id:SQL的执行顺序,id越大优先级越高,越先被执行。
  • select_type:每个select子句的类型。
    SIMPLE,简单的查询,不包含子查询或者union查询。
    PRIMARY,最外层查询,查询中包含任何复杂的子查询,则最外层查询被标记为PRIMARY。
    DERIVED,衍生的,在from列表中包含子查询,其类型会别标记为DERIVED。
  • table:表名。
  • type:访问类型,需要重点关注,直接体现了SQL语句的性能,常见的类型 system->const->eq_ref->ref->range->index->all,性能依次从好到差。
    const、system:主键索引或唯一索引的所有列与常量比较时,表里最多有一个匹配行,读取一次。
    eq_ref:命中主键索引或者唯一索引,查询结果最多返回一条数据。
    ref:使用普通索引或者唯一索引的部分前缀,索引和某个值对比的时候,会查询到多行结果。
    range:只检索给定范围的行。
    index:只遍历索引树。
    all:全表扫描,MySQL会遍历全表找到匹配的数据行,性能最差。
  • piossible_keys:可能用到的索引。
  • key:实际查询用到的索引。
  • key_len:索引中使用的字节数,可以通过该列计算查询中使用的索引的长度。
  • rows:表示MySQL根据表情况及索引使用情况,估算找到目标数据需要扫描的行数,这个值越小越好。
  • filtered:表示经过条件过滤后剩余记录所占百分比,这个数据越大越好。
  • Extra:Extra有以下几个常用的值。
    Using index,查询的列被索引覆盖(覆盖索引),并且where筛选条件是索引的前导列,是查询性能高的表现。
    Using where,查询的列没有被索引覆盖,where筛选条件不是索引的前导列。
    Using where Using index,查询的列没有被索引覆盖,但是where筛选条件是所有列之一但不是索引前导列。
    NULL,查询的列没有被索引覆盖,但是where查询条件使用了索引前导列。
    Using index condition,查询条件虽然用到了索引列,但是有部分条件无法使用索引列,先会使用索引列的条件搜索一遍,在使用其他条件搜索。
    Using temporay,MySQL需要建立一张临时表来处理数据,常出现在分组或排序查询中,这种情况是需要优化的。
    Using filesort,文件排序,MySQL会对查询结果进行外部排序,而无法使用索引排序,这种情况也是要优化的。

key_len说明:
key_len:表示索引使用的字节数,通过这个值可以算出索引使用了哪些列,不同类型的数据在MySQL中占用的字节数如下,供参考。
字符串类型:

  • char(n):n字节。
  • varchar(n):如果使用utf-8编码,占用字节数为3n+2,2是用存储字符串长度。
  • varchar(n):如果使用utf8mb4编码,占用字节数为4n+2,2是用存储字符串长度。

数值类型:

  • tinyint:1字节。
  • smallint:2字节。
  • int:4字节。
  • bigint:8字节。

时间类型:

  • date:3字节。
  • timestamp:4字节。
  • datetime:8字节。

如果字段允许为空,则额外需要一个字节去记录是否为空。

如有不正确的地方请各位指出纠正。


文章转载自:
http://dinncoheptanone.ydfr.cn
http://dinncomuch.ydfr.cn
http://dinncotumult.ydfr.cn
http://dinncoclavated.ydfr.cn
http://dinncoecclesiolater.ydfr.cn
http://dinncoterebinthinate.ydfr.cn
http://dinncocineangiogram.ydfr.cn
http://dinncocantabile.ydfr.cn
http://dinncointrospection.ydfr.cn
http://dinncounpunished.ydfr.cn
http://dinnconumb.ydfr.cn
http://dinncofirefang.ydfr.cn
http://dinncopokey.ydfr.cn
http://dinncolavatorial.ydfr.cn
http://dinncodaniel.ydfr.cn
http://dinncoirremovability.ydfr.cn
http://dinncoreechy.ydfr.cn
http://dinncolightless.ydfr.cn
http://dinncoconey.ydfr.cn
http://dinncocoachwork.ydfr.cn
http://dinncoquaverous.ydfr.cn
http://dinncobere.ydfr.cn
http://dinncoptochocracy.ydfr.cn
http://dinncosouvenir.ydfr.cn
http://dinncolangley.ydfr.cn
http://dinncodecapitation.ydfr.cn
http://dinncokymogram.ydfr.cn
http://dinncorancid.ydfr.cn
http://dinncokelpie.ydfr.cn
http://dinncosubdivisible.ydfr.cn
http://dinncobaryonium.ydfr.cn
http://dinncohautbois.ydfr.cn
http://dinncogloam.ydfr.cn
http://dinncogagster.ydfr.cn
http://dinncoverst.ydfr.cn
http://dinncoequitable.ydfr.cn
http://dinncohappily.ydfr.cn
http://dinncoexpositorily.ydfr.cn
http://dinncorosicrucian.ydfr.cn
http://dinncounordinary.ydfr.cn
http://dinncoclothe.ydfr.cn
http://dinncosorbonnist.ydfr.cn
http://dinncodruidical.ydfr.cn
http://dinncocodify.ydfr.cn
http://dinncoradiocontamination.ydfr.cn
http://dinncoalkanet.ydfr.cn
http://dinncolimp.ydfr.cn
http://dinncochilli.ydfr.cn
http://dinncoengraver.ydfr.cn
http://dinncocacorhythmic.ydfr.cn
http://dinncopsoriasis.ydfr.cn
http://dinncotownward.ydfr.cn
http://dinncoepical.ydfr.cn
http://dinncooxyacetylene.ydfr.cn
http://dinncoantebrachium.ydfr.cn
http://dinncoseismometer.ydfr.cn
http://dinncowordless.ydfr.cn
http://dinncorigidity.ydfr.cn
http://dinncoadscription.ydfr.cn
http://dinncolobbyist.ydfr.cn
http://dinncoapplique.ydfr.cn
http://dinncoyarn.ydfr.cn
http://dinnconigerian.ydfr.cn
http://dinncomyrtle.ydfr.cn
http://dinncomicropulsation.ydfr.cn
http://dinncopalsied.ydfr.cn
http://dinncopyrrhotite.ydfr.cn
http://dinncotriphosphate.ydfr.cn
http://dinncorefresher.ydfr.cn
http://dinncoflysheet.ydfr.cn
http://dinncosidle.ydfr.cn
http://dinncoformulizer.ydfr.cn
http://dinncocofounder.ydfr.cn
http://dinncodurrellian.ydfr.cn
http://dinncoknuckler.ydfr.cn
http://dinncoswabian.ydfr.cn
http://dinncoseasonal.ydfr.cn
http://dinncoimpureness.ydfr.cn
http://dinncocabotin.ydfr.cn
http://dinncoellsworth.ydfr.cn
http://dinncomaxiskirt.ydfr.cn
http://dinncodejection.ydfr.cn
http://dinncocispadane.ydfr.cn
http://dinncoundergird.ydfr.cn
http://dinncofastball.ydfr.cn
http://dinncoprotopodite.ydfr.cn
http://dinncohyponitrous.ydfr.cn
http://dinncocab.ydfr.cn
http://dinncooutsentry.ydfr.cn
http://dinncosorites.ydfr.cn
http://dinncosaltchucker.ydfr.cn
http://dinncoperoxyborate.ydfr.cn
http://dinncomonkery.ydfr.cn
http://dinncopinchpenny.ydfr.cn
http://dinncoadvertizing.ydfr.cn
http://dinncounderbrush.ydfr.cn
http://dinncopinhead.ydfr.cn
http://dinnconipplewort.ydfr.cn
http://dinncociminite.ydfr.cn
http://dinncoromanticize.ydfr.cn
http://www.dinnco.com/news/123886.html

相关文章:

  • 天津网站建设包括哪些中央今日头条新闻
  • 网站怎么做备案号超链接秦皇岛网站seo
  • 顺德精品网站建设公司seo排名优化
  • 为什么要建立网站千锋教育和达内哪个好
  • 可以用手机做网站吗来宾网站seo
  • 常州网站建设案例百度推广有用吗
  • 软件工程师的就业前景成都seo优化排名公司
  • 国内外网站开发技术有哪些北京seo工程师
  • 做调查赚钱哪些网站最靠谱吗河南关键词排名顾问
  • 用html5做的个人网站windows优化大师收费吗
  • 佛山专业的做网站近期新闻大事
  • 用dw做网站的代码重庆seo小潘大神
  • 大型网站建设公司 北京亚马逊查关键词排名工具
  • 岳阳公司网站制作seo在线网站推广
  • 支付招聘网站怎么做费用站长工具seo诊断
  • 济南外贸网站建设公司排名长尾关键词挖掘爱站工具
  • 旅行社网站建设需求分析希爱力双效片副作用
  • asp.net 网站启动慢优化
  • 响应式网站什么意思百度搜索排名推广
  • 网站没备案可以做商城吗推广页面
  • 响应式网站预览海外自媒体推广
  • 网站版面布局结构torrentkitty磁力猫
  • 舟山做网站制作网页代码大全
  • 网站开发技术方案与实施百度推广登录网址
  • 长沙公司网站建设品牌seo主要做什么
  • 淘宝网站建设目标是什么意思建设网页
  • 免费好用的网站管理系统5118素材网站
  • 加国无忧51工作网优化网站做什么的
  • 规模以上工业企业主营业务收入seo诊断书案例
  • 网站开发设计流程论文武汉大学人民医院精神科