iT邦幫忙

DAY 14
0

MySQL on Azure系列 第 14

MySQL on Azure(13)

優化資料庫

  1. 優化表格的資料型態

select * from table_name PROCEDURE ANALYSE();

根據結果,可以對資料庫中的資料型態提供優化建議

  1. 分割表格以提高表格的尋訪效率

分為

垂直拆分: 把常用的欄位放置在同一個表格,把不常用的欄位放置在另外一個表格,當然兩者都需要帶有主鍵,才能夠進行連結。

但絕對不要把需變動的在同一個表格,把不常需變動的欄位放置在另外一個表格,因為每次存取都需要連結兩個表格,變成表格會變大!

水平拆分: 就把表格依據查詢特性,例如日期,區域,等等分隔成欄位名稱相同,但是資料內容不同的許多表格,這個觀念就是Partitioning,但是一個是手動操作,一個是資料庫引擎直接支援,但觀念是一樣的,目的都是在常數比例下,降低需尋訪的資料量。或者是降低以樹狀結構為基礎的index深度。

  1. 反正規化

正規化的好處大家都懂,缺點大家也懂,就是SQL命令中使用太多的連結,造成查詢上的緩慢。

反正規化的好處與壞處,剛好跟正規化恰恰相反,熟練的資料庫管理師,應該很容易在之間做一個拿捏。

其應用想當然,以一般程式設計師的人腦,應當可以設計出多種反正規化的直覺作法,以一個陪榜主題而已,本篇留待明天討論....


上一篇
MySQL on Azure(12)
下一篇
MySQL on Azure(14)
系列文
MySQL on Azure30

尚未有邦友留言

立即登入留言