2014-11-02 122 views
0

如果問題有點新鮮,我很抱歉,我對數據庫知之甚少。向MySQL表添加大列(VARCAHR)是否會對性能產生重大影響?

我正在開發基於Web的應用程序來管理組織用戶。記錄數量將是10,000-20,000。我想在表格中添加另一列,以便工作人員爲用戶記錄添加備註,以防萬一。我認爲這不會經常使用。

將VARCHAR列添加到表中是否會對數據庫有顯着的性能影響?您會建議將註釋與另一個表(與用戶表的關係)分開嗎?

回答

1

增加一個大的varchar()可以對性能有影響,但不一定。這裏的主要想法是將數據存儲在數據庫中的頁面上。讀取表格需要閱讀包含記錄的所有頁面。通常,許多記錄適合單個頁面。如果記錄相當大,那麼只有少數記錄適合頁面。這可能會影響性能,因爲需要讀取更多頁面(對於某些查詢)或記錄不能全部放入內存。

在任何情況下,有從輕情節:

  • 你可以有場,從來沒有來填充它。因此,記錄尺寸永遠不會很大。
  • 所有的查詢都是「針鋒相對」的查詢,您正在使用索引來獲取一個或幾個記錄。
  • 如果實際上將該列存儲爲text,那麼它是一個單獨分配的對象。
  • 如果你只有「少數」用戶,所以總的數據量很小(比如用幾兆字節來衡量),那麼性能可能不是問題。

還有一些方法可以降低性能,例如將較長的列放在單獨的表中。

因此,對性能的影響取決於數據庫的整體大小,結構以及如何使用。

相關問題