1
我讀過在FK上連接表時,連接執行的列的數據類型會影響性能。例如,加入int
比加入varchar(128)
要快。我的問題是,基於數據類型或該數據類型中的值,加入字段的速度是否更快?連接時的外鍵類型
例如,如果我在-2,147,483,648的值上進行連接,是否比連接上的「J」值更快,因爲「J」在數據庫中佔用更多空間,假設「J」來自varchar(128)
字段?如果它們都來自整數列,那麼1的值是否與-2,147,483,648的速度相同?
很容易測試,不是嗎?只需創建兩對錶並在一個值中使用「int」,但在另一個值中轉換爲「varchar(128)」。每桌放幾億行,並測量加入它們需要多長時間。與我們分享您的發現。我預計'varchar'會變慢,但我不知道它會有多重要。它應該至少與服務器必須從磁盤讀取的字節數成比例。在所有情況相同的情況下,'varchar'使用的字節數多於'int'或'smallint',所以它會比較慢。 –