数据量10亿级别的数据库表,多行存储成一行、一列扩展成多列之数据优化及迁移方案(一)
来源:互联网 发布:手机域名注册有什么用 编辑:程序博客网 时间:2024/06/06 02:37
问题背景:
原表设计如下,业务上是把登陆用户的商品以priority顺序方式列表显示,但是此列表显示非常慢。
create table t_origin
(
user_id varchar2(11),
goods_id varchar2(19),
priority number(2),
update_time DATE
);
comment on t_origin.user_id "用户ID";
comment on t_origin.goods_id "商品ID";
comment on t_origin.priority "商品优先级";
comment on t_origin.update_time "记录更新时间";
问题定位:
1.查询登陆用户商品列表,这个SQL查询业务上非常简单,表结构设计也很合理
2.导致SQL查询非常慢的根本原因是t_origin表数据量过大,接近10亿
解决问题:
1.优化SQL,该分区的建立分区,该索引的建立索引;
2.想办法减少t_origin表数据量;要减少t_origin数量,可以将goods_id列扩展成多列如:goods_id_01, goods_id_02, goods_id_03等;如果将goods_id列扩展成10列,则t_origin表数据量减为原先的10分之一。
前提:每个用户的商品列表数目必须有最大值,如10、20等,如果用户的商品列表数没有最大值,则无法通过扩展列来减少数据量
原表设计如下,业务上是把登陆用户的商品以priority顺序方式列表显示,但是此列表显示非常慢。
create table t_origin
(
user_id varchar2(11),
goods_id varchar2(19),
priority number(2),
update_time DATE
);
comment on t_origin.user_id "用户ID";
comment on t_origin.goods_id "商品ID";
comment on t_origin.priority "商品优先级";
comment on t_origin.update_time "记录更新时间";
问题定位:
1.查询登陆用户商品列表,这个SQL查询业务上非常简单,表结构设计也很合理
2.导致SQL查询非常慢的根本原因是t_origin表数据量过大,接近10亿
解决问题:
1.优化SQL,该分区的建立分区,该索引的建立索引;
2.想办法减少t_origin表数据量;要减少t_origin数量,可以将goods_id列扩展成多列如:goods_id_01, goods_id_02, goods_id_03等;如果将goods_id列扩展成10列,则t_origin表数据量减为原先的10分之一。
前提:每个用户的商品列表数目必须有最大值,如10、20等,如果用户的商品列表数没有最大值,则无法通过扩展列来减少数据量
- 数据量10亿级别的数据库表,多行存储成一行、一列扩展成多列之数据优化及迁移方案(一)
- 数据量10亿级别的数据库表,多行存储成一行、一列扩展成多列之数据优化及迁移方案(二)
- 数据量10亿级别的数据库表,多行存储成一行、一列扩展成多列之数据优化及迁移方案(三)
- sql server中将一列多行的数据转成一列一行,和一行数据解析成一行多列
- 【第一行代码-Android】学习(一)及在studio的迁移(5)存储数据
- 数据库存储大数据量(千万条记录级别)数据的考虑要点
- 数据库存储大数据量(千万条记录级别)数据的考虑要点
- 数据库存储大数据量(千万条记录级别)数据的考虑要点
- SQL中将一列的多行内容拼接成一行
- word 中将一列数据转换成连续的一行数据
- 一列多行合并一列一行
- SQL2000一列转一行的存储过程
- 将表查询出来的一列数据变为一行
- 海量数据库的查询优化及分页算法方案(一)
- 百万级别的数据优化(收藏) 优化方案很多
- SQL将一行多列数据合并成 一列
- oracle 建表 造数据 存储过程 创建数据库的远程连接 以及一列的多行合并
- 大数据量数据库设计与优化方案
- 优秀的习惯
- 解决jquery.XYTipsWindow.2.8.js关闭后父窗体输入框不能进行编辑
- python自动化单元测试框架 PyUnit
- mvn dependency logback
- 进制互转
- 数据量10亿级别的数据库表,多行存储成一行、一列扩展成多列之数据优化及迁移方案(一)
- uva 10453 Make Palindrome
- phpredis使用方法
- 职场的18个心得
- 制作并使用静态类库(Static Library)
- OK6410根文件系统制作
- C++ 模板基础谈
- 自定义 mrtg 数据
- mvn dependency mongodb maven dependency mongodb