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

为什么建设的网站有时候访问慢厦门seo代理商

为什么建设的网站有时候访问慢,厦门seo代理商,网站建设怎样去销售,wordpress支付按钮目录 一、前言 二、准备工作 2.1 用户表#xff08;TB_USER) 2.2 商品表#xff08;TB_SKU) 2.3 订单表#xff08;TB_ORDER#xff09; 三、实例分析 3.1 索引提升查询性能 3.2 多表查询 3.3 索引失效 四、总结 一、前言 在数据库的应用中#xff0c;性能优化…目录 一、前言 二、准备工作 2.1 用户表TB_USER) 2.2 商品表TB_SKU) 2.3 订单表TB_ORDER 三、实例分析 3.1 索引提升查询性能 3.2 多表查询 3.3 索引失效 四、总结 一、前言 在数据库的应用中性能优化是一个持续不断的过程。其中索引优化是提高查询速度的最有效的方法本文将通过案例深入探讨MySQL索引优化帮助读者理解索引优化、在实际的应用中提升性能。 二、准备工作 在开始优化分析之前现在准备好三张表TB_USER、TB_SKU、TB_ORDER表。 2.1 用户表TB_USER) 用户表结构如下 创建表的语句 CREATE TABLE tb_user  (id int(0) NOT NULL COMMENT id,create_time datetime(0) NOT NULL COMMENT 创建时间,creator varchar(20) NOT NULL COMMENT 创建人,user_id int(0) NOT NULL COMMENT 用户id,user_name varchar(30) NOT NULL COMMENT 用户名,addr varchar(300) NULL DEFAULT NULL COMMENT 地址,remark varchar(200)  NULL DEFAULT NULL COMMENT 备注,PRIMARY KEY (id) USING BTREE ) ; 2.2 商品表TB_SKU) 表结构如下 创建表的语句 CREATE TABLE tb_sku (id int(0) NOT NULL COMMENT id,create_time datetime(0) NOT NULL COMMENT 创建时间,creator varchar(20) NOT NULL COMMENT 创建人,sku_id int(0) NOT NULL COMMENT 商品id,sku_name varchar(200) NOT NULL COMMENT 商品名称,remark varchar(200) NULL DEFAULT NULL COMMENT 备注,PRIMARY KEY (id) USING BTREE ); 2.3 订单表TB_ORDER 表结构如下 创建表的语句 CREATE TABLE tb_order  (id int(0) NOT NULL,create_time datetime(0) NOT NULL,creator varchar(20)  NOT NULL,user_id int(0) NOT NULL,sku_id int(0) NOT NULL,status varchar(1)  NULL DEFAULT NULL,remark varchar(200)  NULL DEFAULT NULL,PRIMARY KEY (id) USING BTREE ) ; 三、实例分析 在上一篇文章中介绍了索引的优化策略最后介绍了查看SQL执行技术的关键字explain并对explain执行计划的各个字段作了介绍本文将结合实例对各个字段作详细介绍。 3.1 索引提升查询性能 tb_user表总共有6条数据一个id主键索引因此用select * from tb_user where user_id1;去查询的时候 1. select_typeSIMPLE简单查询因为这是一个单表的查询 2. typeALL type的类型有NULL、system、const、eq_ref、ref、range、index、all从左到右性能逐一降低all的性能最差属于全部扫描。 3.filtered16.67也就是从全部6条记录中筛选出1条filtered的值是越大越好。 接下来给tb_user增加一个user_id的索引然后再来看执行计划 create index idx_tb_user_user_id on tb_user(user_id); 从上图的执行计划可以看到type变成了ref也就是查询的时候使用了索引 filtered的值变成了100.00因此性能得到了很大的提升。 下一步将idex_tb_user_user_id的索引删除重新创建唯一索引再来看执行计划 alter table tb_user drop index idx_tb_user_user_id; create unique index idx_tb_user_user_id on tb_user(user_id); type再次从ref变为了const性能再次得到了提升。 3.2 多表查询 从tb_user、tb_sku、tb_order三张表中查询用户都买了哪些商品 查看这个SQL的执行计划 对于id是相同的从上往下执行。 如果id不同的情况id越大越先执行假设通过子查询的方式查询买了铅笔的人名。 查看以下这个SQL的执行计划 这个的执行顺序跟我们理解的也是一样应该先去查询tb_sku查出sku_id再根据sku_id查询tb_order表查询user_id最后再去查询tb_user表 3.3 索引失效 1. 不要在索引列上运算否则索引会失效。在user_id上作了运算之后索引失效性能降低。 2. 字符串字段查询时如果没有加单引号索引失效 首先我们在tb_order表的status字段上加上索引  create index idx_tb_order_status on tb_order(status); 3.  or连接时一侧有索引、一侧没有索引索引失效 4. 数据分布影响这个可能是我们平时在做索引优化时会被忽略的一点之前在实际项目中碰到过类似的情况后来重要明白是因为数据分布导致的。  我们先将tb_order表中的status字段全更新为9然后再来查看执行计划。因为当MySQL评估使用索引比全表更慢则不使用索引。 另外我们将tb_order的数据分布设置为如下 再进行status2 和 status0的查询会发现status2的时候会使用索引而status0的时候不会使用索引而执行全表查询。这是因为数据分布影响的。 四、总结 本文根据实际例子介绍了如何提升查询性能、索引失效等问题索引对于提升查询性能有很大的帮助但是也不能滥用索引因为使用索引本身会占用存储空间影响数据插入和更新的速度。
http://www.pierceye.com/news/409121/

相关文章:

  • 物流运输做网站的素材多用户商城系统价格
  • 营销型网站建设流程电脑怎么建网站
  • 郑州市汉狮做网站360免费建站
  • 安阳哪里有学做网站的学校做个公众号需要多少钱
  • 建站seo是什么成都做营销型网站
  • 网站建设哪个wordpress分类title
  • 建手机网站多少钱挂机软件定制
  • 网站建设 提案 框架河南一般建一个网站需要多少钱
  • 福建省建设人才市场网站深圳营销型网站建设优化
  • 晋城购物网站开发设计宣传网站有哪些
  • 在哪人网站要以接it项目做企业为什么要分析环境
  • 达令的网站建设wordpress上传视频
  • 织梦免费网站模块下载地址南充楼盘网
  • 深圳极速网站建设服务器做网站 然后百度推广
  • 西充县住房和城乡建设局网站深圳建设局网站打不开
  • 深圳常平网站建设制作公司网站开发qq群
  • 校园网站建设的感受论文专业微信网站建设公司首选
  • 国外免费logo设计网站免费网课平台
  • 高端网站设计定制公司页面跳转自动更新
  • 项目建设资金来源网站网站开发技术可以做什么工作
  • 可做易企秀的网站网页建站网站
  • 南京网站建设价格大型网站开发协调
  • 园林景观设计公司点评的网站和论坛大型网站搜索怎么做的
  • 河南省建设教育培训中心网站广告机器设备的价格表
  • 郑州做网站哪家最好中国能源建设集团有限公司是什么级别
  • 品牌设计公司排行榜前十名seo外包服务公司
  • 潍坊网站建设 58wordpress 酒店预订
  • 个人网站主机选择电商公司官网
  • 名城苏州网站龙岗网站建设价位
  • 免费手机网站制作学做网站游戏教程