其他网址
MySQL面试题(六)数据库的分库分表原理详解_数据库_weixin_38399962的博客-CSDN博客
分库分表实战 - 简书
分库分表(1) --- 理论 - 雨点的名字 - 博客园
彻底搞清分库分表(垂直分库,垂直分表,水平分库,水平分表)_数据库_攀博分享-CSDN博客
mysql 垂直分表 实践记录_数据库_NRGAGA的专栏-CSDN博客
一条数据中的字段太多,200多个,尝试将字段全部建在一张表内,出现错误:
Mysql [Err] 1118 - Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535.
尝试了网上各种办法后依然无效,无奈考虑到垂直分表,将字段分别建立在两张表内。
其中有几点值得记录:【数据持久化使用 Mybatis】
- 创建表:两张表有一个取值相同的字段id:字段名可相同,也可不同,但字段值要相同;以此确定两张表中的一条数据,
- 查询时:第1 张表 Table1 左外连接(Left Outer Join ) 第2 张表 Table2 on Table1.id = Table2.id
- 新增时,判断字段属于哪一个表,根据字段所属表,将数据插入到对应表内。
(1)、要插入的数据 ,全部封装在 一个 PG内(我自己代码里写的一个键值对 Map,键:字段名,值:字段值)
(2)、在 Mapper 内明确好 每个表的表名,所包含的字段
(3)、拼接好 每个表 新增数据的 SQL语句
(4)、PG 传入后,自动匹配字段,从而自动插入到不同的表
=============================分割线==============================
另一个需求:由于我的数据是分批上传,需要保留每一批上传数据的历史记录,因此::
- 在两个表内 都增加一个 “recordid” 字段,每一批数据一个唯一的 recordid (实质上只需要第一个表有这个字段就行,两个表数据根据相同的 ID 关联 ,这里第二个表也存了recordid,有数据冗余,只是感觉到以后会用到)。
- 新增一个 record 表,表内至少有一个 recordid 字段,create_time 字段, 还有其他业务的自定义字段,保存每次上传信息。
- 查询上传记录时,首先查询 record 表,再从 record 表 内提取 recordid 去数据表内查询 该批次数据。
原来没有分库分表,后期如何分库分表?
现在有一个未分库分表的系统,未来要分库分表,如何设计才可以让系统从未分库分表**动态切换**到分库分表上? - 简书
分库分表的全局ID如何维护一致性?
Sharding-jdbc分库分表实例
其他网址:
sharding-jdbc之——分库分表实例_数据库_冰河的专栏-CSDN博客