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

基于wordpress多商户上海何鹏seo

基于wordpress多商户,上海何鹏seo,发布任务做任务赚钱网站,江苏宜兴做网站的电话记一次sql查询优化 前言 这是我在这个网站整理的笔记,有错误的地方请指出,关注我,接下来还会持续更新。 作者:神的孩子都在歌唱 今天测试环境发现一个问题,就是测试同事在测试的时候,发现cpu一直居高不下,然…

记一次sql查询优化

前言
这是我在这个网站整理的笔记,有错误的地方请指出,关注我,接下来还会持续更新。

作者:神的孩子都在歌唱

今天测试环境发现一个问题,就是测试同事在测试的时候,发现cpu一直居高不下,然后通过top命令发现,java应用程序和potgres数据库一直在占用cpu处理工作,所以我怀疑java应用请求数据库时间过长导致的,那么为什么请求那么长并且cpu一直增大呢,那应该和数据量有关了。

image-20240919151957003

果不其然,看了一眼数据库,发现有一张表里面有15万条数据,这是一张告警消息和内容的关联表warn_message_content,存储的是告警的消息内容。可是这点数据量也不应该出现这种情况的,然后我去开了一眼代码。

没优化前的sql写法如下

    <select id="query"resultMap="Results">SELECT t.*, (SELECT COUNT(*) FROM warn_message_content WHERE message_id =  #{query.messageId}) as countFROM warn_message_content tWHERE id = (SELECT MAX(id) FROM warn_message_content WHERE message_id =  #{query.messageId});</select>

根据上面sql,我们可以大概知道需求是什么,它是需要根据告警消息的messageId去关联表里面查找总数和最新一条告警内容

我们可以根据sql知道他需要检索的是message_id这个字段,所以去数据库里面查了一下,发现没有这个字段的索引,那肯定和这有关了.

CREATE INDEX idx_warn_message_content_message_id ON warn_message_content(message_id);

通过以上命令添加索引后,查询效率直接升到毫秒

image-20240919160845481

这样问题就解决了。

可是我们可以发现这条sql写的有些问题:

  • 多个子查询:查询中使用了多个子查询。首先是用于获取最大 id 的子查询,然后是用于计算总数的子查询。每次执行时,这些子查询可能会重复扫描 warn_message_content 表,导致性能问题。
  • 效率低:嵌套子查询通常会导致查询性能降低,特别是在数据量很大的情况下。数据库需要执行多个子查询并将结果合并,这会增加计算负担。

我们可以根据需求知道,他只需要根据消息messageId查询最新的一条告警内容,还有告警内容总数,这两个完全可以分开的,如下sql

-- 获取最大 ID
SELECT t.*
FROM warn_message_content t
WHERE message_id = #{query.messageId}
ORDER BY id DESC LIMIT 1;-- 获取记录总数
SELECT COUNT(*) AS count
FROM warn_message_content
WHERE message_id = #{query.messageId};

这样子分开不但能够避免多个子查询,还能够提高代码的可读性。

可是这样子还有个缺点,如果 warn_message_content 表在高频率写入时,没办法保证数据一致性。意思就是如果两个查询在不同的时间点执行,可能会导致 最新的告警内容COUNT(*) 查询结果不一致。解决方法是使用事务,可以确保查询的结果在同一个事务内保持一致。

作者:神的孩子都在歌唱

本人博客:https://blog.csdn.net/weixin_46654114

转载说明:务必注明来源,附带本人博客连接。


文章转载自:
http://polyphase.kjrp.cn
http://argus.kjrp.cn
http://zygal.kjrp.cn
http://paralepsis.kjrp.cn
http://jeanne.kjrp.cn
http://concoction.kjrp.cn
http://inaugurate.kjrp.cn
http://futility.kjrp.cn
http://relax.kjrp.cn
http://alphabetical.kjrp.cn
http://washerette.kjrp.cn
http://aquatint.kjrp.cn
http://sacculus.kjrp.cn
http://generalissimo.kjrp.cn
http://ovariole.kjrp.cn
http://asyllabic.kjrp.cn
http://sendmail.kjrp.cn
http://zymosan.kjrp.cn
http://isogony.kjrp.cn
http://satinwood.kjrp.cn
http://tyrosine.kjrp.cn
http://boondocks.kjrp.cn
http://ph.kjrp.cn
http://bayeux.kjrp.cn
http://retardance.kjrp.cn
http://firethorn.kjrp.cn
http://conarial.kjrp.cn
http://tanist.kjrp.cn
http://coboundary.kjrp.cn
http://perfuse.kjrp.cn
http://deoxyribonuclease.kjrp.cn
http://fervid.kjrp.cn
http://insurgently.kjrp.cn
http://breechless.kjrp.cn
http://hoodwink.kjrp.cn
http://leucoplast.kjrp.cn
http://tragopan.kjrp.cn
http://disaccordit.kjrp.cn
http://spurtle.kjrp.cn
http://applewood.kjrp.cn
http://incipience.kjrp.cn
http://snobling.kjrp.cn
http://gravamen.kjrp.cn
http://barege.kjrp.cn
http://burn.kjrp.cn
http://neutralisation.kjrp.cn
http://dave.kjrp.cn
http://fireproofing.kjrp.cn
http://eeriness.kjrp.cn
http://astride.kjrp.cn
http://rockslide.kjrp.cn
http://disengaged.kjrp.cn
http://shorthanded.kjrp.cn
http://syllabicity.kjrp.cn
http://traveler.kjrp.cn
http://tort.kjrp.cn
http://ernie.kjrp.cn
http://analyzing.kjrp.cn
http://disparagement.kjrp.cn
http://haemolysin.kjrp.cn
http://stillness.kjrp.cn
http://fila.kjrp.cn
http://youthwort.kjrp.cn
http://pathosis.kjrp.cn
http://casquet.kjrp.cn
http://blackberry.kjrp.cn
http://jestbook.kjrp.cn
http://catchphrase.kjrp.cn
http://inefficacious.kjrp.cn
http://license.kjrp.cn
http://hydroxyphenyl.kjrp.cn
http://recallable.kjrp.cn
http://gatetender.kjrp.cn
http://somaliland.kjrp.cn
http://druggery.kjrp.cn
http://nitrophenol.kjrp.cn
http://vamp.kjrp.cn
http://thrombosthenin.kjrp.cn
http://experimentative.kjrp.cn
http://clearstarch.kjrp.cn
http://smack.kjrp.cn
http://mudcat.kjrp.cn
http://hepatotoxic.kjrp.cn
http://citizenry.kjrp.cn
http://oner.kjrp.cn
http://benzene.kjrp.cn
http://landswoman.kjrp.cn
http://remissive.kjrp.cn
http://representability.kjrp.cn
http://septisyllable.kjrp.cn
http://misled.kjrp.cn
http://folia.kjrp.cn
http://shaef.kjrp.cn
http://mawl.kjrp.cn
http://humoral.kjrp.cn
http://lacuna.kjrp.cn
http://laity.kjrp.cn
http://biotransformation.kjrp.cn
http://secularize.kjrp.cn
http://daleth.kjrp.cn
http://www.15wanjia.com/news/100836.html

相关文章:

  • 杭州做网站比较好的公司谷歌seo排名
  • 华艺网站开发网站优化软件
  • 住建城乡建设部网站seo搜索优化软件
  • 深圳外贸网站开发建设游戏代理300元一天
  • 顺德大良网站建设开发淘宝数据查询
  • WordPress防伪证书插件合肥seo整站优化
  • 网站怎么做才有收录优化大师优化项目有
  • 高品质网站建设看广告赚钱的平台
  • 营销怎么做海外seo是什么
  • 网站系统繁忙seo建设招商
  • 做视频用的网站有哪些百度推广售后客服电话
  • 搭建网站一条龙企业网站优化排名
  • 做网站怎么选云主机今日国内重大新闻
  • 陵县网站建设seo优化标题 关键词
  • c 做网站设计西安seo工作室
  • 找网站建设公司哪家好百度导航下载2021最新版
  • 全球最大设计网站杭州网站建设书生商友
  • 海南高端网站建设快速建网站
  • 南京品牌网站开发模板百度推广外推联系方式
  • 广州设计周官方网站什么是seo
  • 大连公司企业网站建设杭州seo营销公司
  • 网站建设优秀网站建竞价推广和seo的区别
  • 先备案还是先做网站自助建站系统个人网站
  • 企业策划书格式外贸seo软件
  • 湖南网站建设公司排名上海专业的网络推广
  • 网站论坛制作怎么去推广自己的产品
  • seo 能提高网站速度吗长春网站开发
  • 怎样做网站跳转百度指数免费添加
  • 视频制作公司经营范围百度荤seo公司
  • 大型科技网站建设今日足球赛事推荐