mysql 分表 性能提升_mysql 分表问题,哪一种会更有性能呢?

业务:

有1大批基因,按2中方式分类:1类是按 功能,另1类是按 代谢途径。

此外,1个基因可能同属于多个功能、或者多个代谢途径。

平时主要是通过 功能、或代谢途径 获得相应类别下的所有基因,或者查询某个基因给出相应的代谢途径或功能。

想法:

我想到了2种分表方式,但不知道哪一种更好,所以想请大家给我点建议,甚至提出更好的分表方式更欢迎。我还有想知道一般数据库的性能测试一般都怎么做的呢?有一些经验或者书可以推荐的话那就更好了,先事先感谢大家的关注。

---方式1

1. 表1 代谢途径:category_id(index,自增) / name 类名

2. 表2 基因功能:category_id(index,自增) / name 类名

3. 表达 基因:gene_id(index,用唯一的通用的ID名,不一定自增) / category_id(对应上面的功能、或代谢途径) / type(1代表对应代谢途径,2代表对应基因功能的id)

此方式在此方式搜寻或者join的时候,仅能 用 ON 代谢途径/基因功能.category_id = 基因.category_id 衔接后,加一个where 基因.type=1/2。

---方式2

1. 表1 代谢途径:

/ category_id(index,自增)

/ name 类名

2. 表2 基因功能:

/category_id(index,自增)

/ name 类名

3. 表达 基因:

/gene_id(index,用唯一的通用的ID名,不一定自增)

/category_id(以num-category_id形式储存,如{1-category_id};或是{2-category_id};category_id对应上面的功能、或代谢途径中的id;前面的1代表对应代谢途径,2代表对应基因功能的id)

此方式搜寻或者join的时候可以 用 ON 代谢途径/基因功能.concat('1或者2', '-', category_id) = 基因.category_id 链接到一起

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值