作者onear (万一)
看板Database
标题Re: [SQL ] 资料库效能问题
时间Sat Oct 11 17:37:04 2008
※ 引述《luxuryEX (戴汶)》之铭言:
: 我想请问各位前辈
: 我建了一个资料库
: 其中一个table有6个attributes
: 假设这个table里面的资料有上万笔
: 如果我把这个table拆成二个table各三个attributes
: 那个拆了之後会比拆之前存取效能更快吗?
: 因为我正在做一个专题,老师有提到应该要拆开
: 但是我程式骨干已经做出来了,要拆有点麻烦
: 所以来问这个效能上的问题
: 先谢谢各位前辈~
我猜一下你老师可能有顾虑的原因...
这种拆资料表的方式, 如果有效能提升的可能,
通常是在大型系统上, 已知各个栏位有明显不同的存取频率,
所以就拆资料表, 让存取频率较高那组资料表所用的空间开在
磁碟IO效能较好的储存空间上, 以平均分散磁碟IO, 减少效能瓶颈.
例如, 个人资料中, 如果栏位包含身分证字号/个人基本资料(姓名/身高/体重),
虽然身分证字号<->姓名/身高/体重都是一对一, 但使用频率上,
通常姓名的存取频率>>身高或体重, 所以就拆开成二个资料表,
成为表一(身分证字号,姓名)与表二(身分证字号,身高,体重)
但是要有比较明显效能上的效益, 通常资料笔数要有上千万, 并且底层硬体要配合.
一般拆资料表可能只是因为不想混淆逻辑, 所以就拆了, 跟效能完全无关.
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.112.142.200
※ 编辑: onear 来自: 59.112.142.200 (10/11 18:58)