前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >大数据表查询优化 - 表分区

大数据表查询优化 - 表分区

作者头像
用户1172223
发布2020-10-09 19:17:45
9730
发布2020-10-09 19:17:45
举报
文章被收录于专栏:哲学驱动设计哲学驱动设计

快两年没写过业务代码了…… 今天帮一个研发团队优化了一下数据库表的查询性能。使用的是表分区。 简单记录了一下步骤,方便直接用:

1. 使用 Trade_Date 新建表分区,从 4 月建立到 2021-6,每月一个单独的分区:

代码语言:javascript
复制
 ALTER TABLE tbl_original_data  PARTITION BY RANGE(unix_timestamp(Trade_Date))(   
 partition p0 values less than (unix_timestamp('2020-05-01 00:00:00')),   
 partition p1 values less than (unix_timestamp('2020-06-01 00:00:00')),   
 partition p2 values less than (unix_timestamp('2020-07-01 00:00:00')),   
 partition p3 values less than (unix_timestamp('2020-08-01 00:00:00')),   
 partition p4 values less than (unix_timestamp('2020-09-01 00:00:00')),   
 partition p5 values less than (unix_timestamp('2020-10-01 00:00:00')),   
 partition p6 values less than (unix_timestamp('2020-11-01 00:00:00')),   
 partition p7 values less than (unix_timestamp('2020-12-01 00:00:00')),   
 partition p8 values less than (unix_timestamp('2021-01-01 00:00:00')),   
 partition p9 values less than (unix_timestamp('2021-02-01 00:00:00')),   
 partition p10 values less than (unix_timestamp('2021-03-01 00:00:00')),   
 partition p11 values less than (unix_timestamp('2021-04-01 00:00:00')),   
 partition p12 values less than (unix_timestamp('2021-05-01 00:00:00')),   
 partition p13 values less than (unix_timestamp('2021-06-01 00:00:00')),   
 partition p14 values less than (unix_timestamp('2021-07-01 00:00:00')) );

2. 到明年6月以后,使用以下语句添加新分区:

代码语言:javascript
复制
ALTER TABLE tbl_original_data 
ADD PARTITION (PARTITION p15 values less than (unix_timestamp('2021-08-01 00:00:00')))

3. 因为现有查询已经带上 Trade_Date 字段条件,所以不用修改查询和程序。

优化完成后,该查询由每次7秒,降低到每次 0.4 秒左右。

参考文章: MySQL数据库表分区功能详解 MySQL对数据表已有表进行分区表 Mysql 分区表-分区操作

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-09-29 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档