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

企业管理培训课程游戏seo优化必备技巧

企业管理培训课程游戏,seo优化必备技巧,led灯网站建设案例,界面设计工具1、背景 线上某个业务数据分表存储在10个子表中#xff0c;现在需要快速按照条件#xff08;比如时间范围#xff09;筛选出所有的数据#xff0c;主要是想做一个可视化的数据查询工具#xff0c;给产研团队使用。 2、实践 注意#xff1a;不要在线上真实数据库操作现在需要快速按照条件比如时间范围筛选出所有的数据主要是想做一个可视化的数据查询工具给产研团队使用。 2、实践 注意不要在线上真实数据库操作操作前需要确认清楚。线上质量第一线上质量第一线上质量第一 思路1使用UNION ALL操作符将这些子表合并然后在合并后的结果集上执行查询操作。 假设现在有10个子表命名为table_1, table_2, ..., table_10并且每个表中都有一个表示时间的字段 timestamp_column可以使用以下查询来按照时间范围筛选出所有的数据 SELECT * FROM (SELECT * FROM chat_message_1 WHERE send_time BETWEEN start_time AND end_timeUNION ALLSELECT * FROM chat_message_2 WHERE send_time BETWEEN start_time AND end_timeUNION ALL-- ...SELECT * FROM chat_message_10 WHERE send_time BETWEEN start_time AND end_time ) AS combined_tables;在这个查询中start_time和end_time是你想要的时间范围。UNION ALL操作符用于合并子表然后在合并后的结果上执行查询操作。 请注意这种方法可能在数据量很大的情况下导致性能问题因为它会扫描并合并多个表。如果性能是一个重要的考虑因素你可能需要考虑其他优化策略例如分区表、分表查询等。 下面我们用UNION ALL仅查询4个表时间范围为一周我们看看数据库Mysql的CPU使用情况有什么变化。 SELECT * FROM (SELECT * FROM chat_message_1 WHERE send_time BETWEEN 1693843200000 AND 1694607993000UNION ALLSELECT * FROM chat_message_2 WHERE send_time BETWEEN 1693843200000 AND 1694607993000UNION ALLSELECT * FROM chat_message_3 WHERE send_time BETWEEN 1693843200000 AND 1694607993000UNION ALLSELECT * FROM chat_message_4 WHERE send_time BETWEEN 1693843200000 AND 1694607993000 ) AS combined_tables; 数据库为双核CPU部署可以看到CPU的占用从3%左右飙升到25%这个情况在线上的真实环境是绝对不能忍受的。 事实上我们的真实场景比这个会更复杂数据中每一条数据代表的是问题Q或者答案A通过msg_id和question_id一一关联最后实际需要展示的结果是QA对如果按照上述“UNION”的方法查询数据库CPU占用大概率会更高不具备可行性。 数据库的结构 数据库中数据示例 msg_idquestion_idmessage10000你的姓名1000110000我叫张三。10002你今年多大了1000310002我今年18岁。...... 最终期望查出来的数据结果是QA对 msg_idqueryanswer10000你的姓名我叫张三。10002你今年多大了我今年18岁。 思路2基于编程语言的并发能力通过并行请求数据库查询也就是并行执行SQL语句。 此方法风险很大不再赘述对数据库压力较大不是推荐的做法。事实上进过测试数据库的CPU占用也很大。 3、思考方案 刚开始的时候我们业务的数据量比较少直接使用“UNION ALL”等操作查询速度也很快突然有一天线上的数据库开始报警提示CPU占用过高影响了线上的部分业务慌得一批。 线上真实的使用场景查询条件很多也有对应的索引一般是查询某个人的数据而具体某个人的所有数据是可以通过约定好的算法算出他的数据存在于哪个固定的数据库的分表的思路因此并不会出现上述我们提到的查询语法场景速度很快不会有任何问题。 而我们原计划想做的可视化的数据查询工具是想查所有的用户数据因此会变得复杂很多刚开始的思路其实也有点问题想直接实时查询所有表所有人的数据。经过和我们的研发同学确认他说实时查询不建议这么做分表的目的就是为了在大数量的情况下减轻查询的压力实时查询和离线导全量数据的场景是不一样的实时查询这种可以按表来查询比如在页面上让用户主动选择 数据库人工指定查哪个数据库这种大概率就是数据抽样查看。 因此最终我们做的实时数据查询可视化页面示例如下让用户主动选择某个数据表进行查询。
http://wiki.neutronadmin.com/news/432884/

相关文章:

  • 个人做外包网站多少钱网站备案简单吗
  • 百度网站好评介绍好看的电影网站模板免费下载
  • 网站外地备案wordpress meta标签
  • 网站开发需要哪些职位低代码开发平台 开源
  • 四川网站备案咨询网云南小程序开发首选品牌
  • 网站搭建软件d手机网站模版 优帮云
  • 怎么建设电子邮箱网站怎样网页制作
  • 如何做网站优化seo深圳沙井做网站
  • 云南建设厅网站设计茂名市住房和城乡建设局
  • 外包公司做网站小程序游戏怎么赚钱
  • 佛山网站建设制作深圳网站设计服务商
  • 建设网站工作报告石家庄 做网站
  • 上海频道做网站怎么样wordpress导入UI框架
  • 建设一个企业网站需要多少钱线上营销的优势
  • 网站品牌建设建议更改wordpress管理地址
  • 在网站如何做在ps软件做界面找网站开发合作伙伴
  • 怎么做自己网站产品seo做优化网站多少钱
  • 网站建设数据库聚搜济南网站建设公司
  • 新闻类的网站有哪些类型wordpress中文案例
  • 怎么开网站 第一步怎么做柳州城乡建设管理局网站
  • 珠宝网站设计文案上海广告制作公司
  • 简单的网站开发百度教育小程序入口
  • 网站技术支持什么意思千博企业网站管理系统 下载
  • 网站开发服务费属于哪种进项网站开发能进入无形资产吗
  • seo云优化方法自助建站seo
  • 网站建设总体需求分析网络推广客户渠道
  • html前端开发广西seo公司有哪些
  • wordpress文章中出站现在asp做网站
  • 开贴纸网站要怎么做文明网站建设
  • 潇朋友免费班级网站建设系统保定免费网站制作