-1
我需要爲表總線主鍵存儲信息像路公交車,總線類型,註冊號等。正如我們所知沒有公交車本身就是獨特的,可以主鍵,但數據類型的字符串這減緩表搜索,所以另一種可能的解決方案其被添加int類型的自動遞增場,但這會增加網絡數據,每次我需要沒有選擇這兩個班車時間和總線ID(自動遞增)用於在winform上進行用戶選擇的。我需要知道哪種方法更好,還是有其他更好的方法。這是在的情況下,更好的BIGINT或nvarchar的主鍵
表架構方法1種
bus no - nvarchar(10) (primary key)
bus registartion no - nvarchar(10)
方法2
Bus id - int (autoincremnted) (primary key)
Bus no - nvarchar(10)
bus registartion no - nvarchar(10)
請提供架構建議。 – Stuart
從不使用NVARCHAR作爲主鍵。如果你認爲有很多使用INT的網絡流量,你能想象使用NVARCHAR還有多少?正確設計您的模式,您可以最大限度地減少流量並提高性能。 BigInt不應該需要一個PK,因爲你永遠不會得到那麼多的總線:) – Stuart
你的BUS表應該像CREATE TABLE總線(ID INT NOT NULL IDENTITY(1,1),BusName NVARCHAR(255 )NOT NULL,RegoNumber NVARCHAR(10)NOT NULL,PRIMARKY KEY(ID))。然後你總是使用ID號碼作爲查找值。 – Stuart