當我設置MySQL表時,它要求我定義列的名稱,輸入類型和長度。我的假設沒有讀到任何有關它的信息,這是爲了最小化。根據需要指定儘可能最小的int/smallint/tinyint,這會減少某種類型的開銷。如果這是所有的積極因素,使它無符號地加倍你的空間,等等。設置MySQL架構時,爲什麼要使用某些類型?
如果我只是使每個字段爲varchar-200個字符會發生什麼?何時/爲什麼這麼糟糕,我會錯過什麼,什麼時候會出現低效率? 100K記錄?
我每次創建數據庫時都會考慮這個問題,但是我沒有構建任何足夠的擴展功能,以至於我的方案設置不當,無論是「嚴格/小」還是「鬆散/大」 。有人可以證實我對速度和效率做出了很好的假設嗎?
謝謝!
我想添加改變用於表連接的字段長度和類型,確保你總是在兩個地方改變它們。對於非相同的索引,表格連接幾乎和沒有索引一樣慢。 – 2009-10-16 19:58:01