【拆表储存的好处】
工作中需要分析百万级别的数据,此前使用Mysql基本操作是从后台导出不同维度的表格,再导入Msql后使用查询语句进行查询,比如1在网用户表,订单明细表格等;
但是多张表格之间存在冗余信息,会导致查询过程速度变慢、占用资源。
理解到关系型数据库的多对多关系之后,可以设法将几张表格中的重复信息去除,每个表格只保留跟自己相关的信息即可。
【关系型数据库,多对多关系】
比如在网用户信息表中,表字段包含:手机号、系统、运营商、IMEI号,以及订购的套餐及产品;
同时订单明细中也包含在网用户信息中的数据,只是一个用户对应多条订购记录;
此处可以处理在网用户信息表格,去除套餐,产品信息 A表;
订单明细去除用户信息,只保留手机号,产品,套餐,订购时间等信息B表;
另外可以建立一张套餐信息表,包含运营商、产品、类型、资费等表格 C表;
【查询方式】
一个用户可以订购多个套餐,一个套餐可以有多个订购用户;
From A表 inner join B表 on 手机号;
From B表 inner join C表 on 套餐;