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

西安营销网站搜索平台

西安营销网站,搜索平台,从搜索引擎访问网站,四川做网站有哪些公司使用 Explain 进行分析 Explain 用来分析 SELECT 查询语句,开发人员可以通过分析 Explain 结果来优化查询语句。 比较重要的字段有: select_type : 查询类型,有简单查询、联合查询、子查询等 key : 使用的索引 rows : 扫描的行数 type :…

使用 Explain 进行分析

Explain 用来分析 SELECT 查询语句,开发人员可以通过分析 Explain 结果来优化查询语句。

比较重要的字段有:

  • select_type : 查询类型,有简单查询、联合查询、子查询等

  • key : 使用的索引

  • rows : 扫描的行数

  • type :访问类型排列结果值:(最好到最差) system > const > eq_ref > ref > range > index > ALL

优化数据访问

  1. 减少请求的数据量

  • 只返回必要的列: 最好不要使用 SELECT * 语句。

  • 只返回必要的行: 使用 LIMIT 语句来限制返回的数据。

  • 缓存重复查询的数据: 使用缓存可以避免在数据库中进行查询,特别在要查询的数据经常被重复查询时,缓存带来的查询性能提升将会是非常明显的。

  1. 减少服务器端扫描的行数

  2. 最有效的方式是使用索引来覆盖查询。

重构查询方式

  1. 切分大查询

一个大查询如果一次性执行的话,可能一次锁住很多数据、占满整个事务日志、耗尽系统资源、阻塞很多小的但重要的查询。


DELEFT FROM messages WHEREcreate< DATE_SUB(NOW(),INTERVAL3MONTH);rows_affected =0do { rows_affected = do_query("DELETE FROM messages WHERE create < DATE_SUB(NOW(), INTERVAL 3 MONTH) LIMIT 10000") } while rows_affected 0
  1. 分解大连接查询

将一个大连接查询分解成对每一个表进行一次单表查询,然后将结果在应用程序中进行关联,这样做的好处有:

  • 让缓存更高效。对于连接查询,如果其中一个表发生变化,那么整个查询缓存就无法使用。而分解后的多个查询,即使其中一个表发生变化,对其它表的查询缓存依然可以使用。

  • 分解成多个单表查询,这些单表查询的缓存结果更可能被其它查询使用到,从而减少冗余记录的查询。

  • 减少锁竞争;

  • 在应用层进行连接,可以更容易对数据库进行拆分,从而更容易做到高性能和可伸缩。

  • 查询本身效率也可能会有所提升。例如下面的例子中,使用 IN() 代替连接查询,可以让 MySQL 按照 ID 顺序进行查询,这可能比随机的连接要更高效。

SELECT*FROM tab JOIN tag_post ON tag_post.tag_id=tag.id JOIN post ON tag_post.post_id=post.id WHERE tag.tag='mysql';SELECT*FROM tag WHERE tag='mysql';SELECT*FROM tag_post WHERE tag_id=1234;SELECT*FROM post WHERE post.id IN(123,456,567,9098,8904);

慢SQL优化方案

冷热隔离

参考优易,冷热数据隔离,几乎不会再更新的数据和操作频繁的订单数据分开

代码复杂度高,影响范围广

标签表-横表

orderId-tag1-tag2

字段较多,索引建不完

数据维护复杂度上升

标签表-纵表

orderId-tag1

orderId-tag2

多个标签与或非查询条件sql比较难写,性能也不太好评估

数据维护复杂度上升

订单表加索引

重新梳理一份索引

用工具导数据,然后停机,重建索引

强制限制走某个索引

历史数据

归档,目前1年

分库分表

店铺ID、仓库ID

尽可能查询需要的数据

懒加载、需要的时候查询、前端冗余查询

列式数据库

ck

参考:

explain分析sql语句性能详解_explain sql-CSDN博客

MySQL索引原理及慢查询优化

http://www.yidumall.com/news/24027.html

相关文章:

  • 阿里巴巴做轮播网站b2b网站推广优化
  • 怎样做医疗保健网站seo优化与sem推广有什么关系
  • 中石化胜利建设工程有限公司网站媒体推广
  • 找人做jsp网站百度平台商家我的订单查询
  • 网站开发公司需要什么资质营销型企业网站的功能
  • asp技术网站开发案例网页开发教程
  • 广州做网站信息广东公共广告20120708
  • 网站开发环境有什么免费的精准引流软件
  • 专门写文章的网站网络宣传的好处
  • 新疆网站建设介绍seo范畴
  • 常用的开发环境有哪几种上海搜索引擎优化seo
  • wordpress文章永久链接搜索引擎的优化和推广
  • 做娱乐网站被坑百度上怎么发布作品
  • 关于网站建设新闻游戏推广员判几年
  • 各大网站主打文风爱站网爱情电影网
  • 北京cos网站百度代做seo排名
  • 外贸网站知名做外链今天晚上19点新闻联播直播回放
  • 教育机构做网站的目的网络广告推广方法
  • 绿色企业网站模板如何通过网络营销自己
  • 旅游网站的建设背景yandex引擎搜索入口
  • 装修网站怎么做的好处免费注册个人网站
  • 我自己的网站怎么做关键词优化长春网站优化平台
  • 用java软件做网站北京债务优化公司
  • 在线设计响应式网站中国免费网站服务器2020
  • 重庆做网站建设网站流量数据
  • c做的网站搜狗网址
  • 网上书城网站开发的目的与意义北京百度竞价托管
  • 珠晖区党政门户网站富阳seo关键词优化
  • 药业集团网站策划方案范文湖南网络推广排名
  • 做区块链的网站百度世界500强排名