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

游戏类网站欣赏为什么原网站建设公司不愿意透露域名管理权限给客户

游戏类网站欣赏,为什么原网站建设公司不愿意透露域名管理权限给客户,打不开住房和城乡建设部网站,北京工信部网站目录 一、问题描述二、场景还原1. 数据库表2. 查询sql 三、解决方案1. 索引2. 视图3. 分组4. 并行 后记 一、问题描述 同事要实现一个搜索指标名称的关键词,然后按年份统计数量的接口,跟我说时间太长查不出来,无法实现,所以我上手…

目录

  • 一、问题描述
  • 二、场景还原
    • 1. 数据库表
    • 2. 查询sql
  • 三、解决方案
    • 1. 索引
    • 2. 视图
    • 3. 分组
    • 4. 并行
  • 后记

一、问题描述

同事要实现一个搜索指标名称的关键词,然后按年份统计数量的接口,跟我说时间太长查不出来,无法实现,所以我上手解决一下。


二、场景还原

1. 数据库表

数据按省进行了分库存储,每个库5-6个省表,每张表目前大约两千万的数据量
在这里插入图片描述

2. 查询sql

先简单写个sql实现需求,这里先不考虑查询的关键词,逻辑就是把每一张表里面的数量按年份count统计,通过union拼接起来,再次按年份SUM求和。

SELECT y, SUM(c) 
FROM (
SELECT `year` y, count(*) c FROM guangdong_data_queries GROUP BY `year`
UNION ALL
SELECT `year`, count(*) FROM guangxi_data_queries GROUP BY `year`
UNION ALL
SELECT `year`, count(*) FROM hainan_data_queries GROUP BY `year`
UNION ALL
SELECT `year`, count(*) FROM henan_data_queries GROUP BY `year`
UNION ALL
SELECT `year`, count(*) FROM hubei_data_queries GROUP BY `year`
UNION ALL
SELECT `year`, count(*) FROM hunan_data_queries GROUP BY `year`
) AS a
GROUP BY a.y

三、解决方案

1. 索引

mysql优化第一步,增加索引
查看了一下,果然原表都没有索引,给year和指标名称增加后快了很多,由于是补记录的,忘记当时具体时间了

2. 视图

索引加完了就该考虑减少查询的数据量了
像这种模糊查询然后统计数量的,实际上可以先按照查询字段和统计字段分组,然后统计存到一个视图或者新的表里,提前隐藏掉其他的分类维度以实现缩小数据量,我这个表里面还有地区等分类字段,2000w的数据按指标名称和年份分组后就只有200w了,以后即使是模糊查询也是从这200w的基础上进行查询。

原理就是之前是先模糊匹配再去重,现在是先去重再模糊匹配,把指标名称相同但是年份不同的数据提前统计了,当然就快了,适用于数据不是实时变化更新的,我这个是以前的指标数据,正好符合。

当然,别忘记加索引哦

3. 分组

还能再优化吗,可以的!
可以考虑把上一步生成的结果,再次按年份进行分组统计数量,把年份及对应数量以json的格式存到一个字段,例如

{2024:10002023:9002022:800
}

这样可以使模糊查询的表再次缩小,假设每个指标平均涉及20个年份,那么查询的数据表大小就只有10w了,模糊匹配就很简单了,之后在内存中把年份统计字段取出来,遍历按年份加起来,相当于把最终要的统计数据提前计算出来了,同样的还可以把其他分类统计字段也存到一个字段里

4. 并行

还可以再优化吗?可以的!而且是很大的优化!
那就是union本身的执行的是串行的(【沉浸式解决问题】Mysql中union连接的子查询是否并行执行),而在连接的子查询非常多的时候,这无疑是致命的,可以通过多线程创建多个连接分别进行查询,在内存中合并最终结果,只要数据库扛得住,就能把速度优化到一个查询的时间!!!


后记

sql优化还有很多的方法和技巧,除了sql本身,也要更多的考虑业务端的优化。


喜欢的点个关注吧><!祝你永无bug!

/*_ooOoo_o8888888o88" . "88(| -_- |)O\  =  /O____/`---'\____.'  \\|     |//  `./  \\|||  :  |||//  \/  _||||| -:- |||||-  \|   | \\\  -  /// |   || \_|  ''\---/''  |   |\  .-\__  `-`  ___/-. /___`. .'  /--.--\  `. . __."" '<  `.___\_<|>_/___.'  >'"".| | :  `- \`.;`\ _ /`;.`/ - ` : | |\  \ `-.   \_ __\ /__ _/   .-` /  /
======`-.____`-.___\_____/___.-`____.-'======`=---='
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^佛祖保佑       永无BUG
*/

文章转载自:

http://PcrYvUBW.jcwrb.cn
http://gw9haYYE.jcwrb.cn
http://34gnJ2Py.jcwrb.cn
http://1CODcavB.jcwrb.cn
http://kzAwrmZJ.jcwrb.cn
http://onqe7Lk5.jcwrb.cn
http://8yAn0pCj.jcwrb.cn
http://LDiaKlXY.jcwrb.cn
http://e3SOzHkQ.jcwrb.cn
http://vYDiBi0C.jcwrb.cn
http://cPZT67Az.jcwrb.cn
http://sf5W3aiS.jcwrb.cn
http://OCiPk9Th.jcwrb.cn
http://jEro3LDP.jcwrb.cn
http://XQB6Gs8D.jcwrb.cn
http://knNLZiOP.jcwrb.cn
http://FcI4i68X.jcwrb.cn
http://qZxeY56J.jcwrb.cn
http://MFLjQhPf.jcwrb.cn
http://IeZglbPo.jcwrb.cn
http://9U3PLH2J.jcwrb.cn
http://IFkyd63u.jcwrb.cn
http://PzSw0FCA.jcwrb.cn
http://QoAlHlND.jcwrb.cn
http://esehVPBD.jcwrb.cn
http://PyrXFMZo.jcwrb.cn
http://JSyeBtrA.jcwrb.cn
http://lFZbNt8S.jcwrb.cn
http://xdERwDSg.jcwrb.cn
http://vgFk8TeZ.jcwrb.cn
http://www.dtcms.com/wzjs/629562.html

相关文章:

  • 苏州做网站最好公司哪家好手机网站制作教程软件
  • 宣传不网站网站使用网络图片做素材 侵权
  • 重庆建站培训地方网站
  • 国外优秀vi设计网站做网站怎么合并单元格
  • 做网站要懂哪些wordpress部署文件
  • 建设网站什么语言网络营销产品策略案例
  • 中职校园网站建设建议1920的网站做字体大小
  • 凡科做网站技巧天津培训网站建设
  • 巴中建网站的公司wordpress首页文章分类
  • 东莞大朗网站设计在哪个网站可以做酒店预定单
  • 网网站开发如何进行网页设计和网站制作
  • 最好的设计师网站好玩的网游
  • 用php做购物网站视频wordpress rss 图片
  • 网站编辑步骤有哪些全椒县城乡规划建设局网站
  • 个人网站 备案 名称有口碑的坪山网站建设
  • 网站开发的内容我想做个门户网站怎么做
  • 个人备案的网站内容个人备案网站
  • 南乐网站建设甘肃网站建设推广
  • 西安网站建设 白帽网络如何做网络营销
  • 手机端网站优化浙江品牌设计公司
  • 榆中县城乡建设局网站多少钱算网站
  • 免费注册域名的网站wordpress调用文章
  • 深圳微信分销网站制作收录情况有几种
  • 电子商务网站建设汉狮建筑型专业网站有哪些
  • 网站代做发布需求p2p网站如何做推广
  • 电子商务网站开发基础东莞企业网站制作怎么做
  • 珠海免费建站wordpress 最优秀主题
  • 网站建设方案书备案推广排名
  • 青岛网站建设与推广网站的建设需要多少
  • 网站怎么放在服务器上seo排名查询工具