Re: [SQL ] 資料庫效能問題
※ 引述《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)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 3 篇):