Sql-Server

更新列的順序?

  • January 8, 2018

這是我的餐桌員工。像下面這樣的記錄

id  first_name  last_name   salary  start_Date  region  city
1   VINOTH  Martin  5890.00 2005-03-22 00:00:00.000 North   CHENNAI
2   BALU    Mathews 4789.00 2003-07-21 00:00:00.000 South   MUMBAI
3   James   Smith   6678.00 2001-12-01 00:00:00.000 North   Paris
4   Celia   Rice    5567.00 2006-03-03 00:00:00.000 South   London
5   Robert  Black   4467.00 2004-07-02 00:00:00.000 East    Newton
6   Linda   Green   6456.00 2002-05-19 00:00:00.000 East    Calgary
7   David   Larry   5345.00 2008-03-18 00:00:00.000 West    New York
8   James   Cat 4234.00 2007-07-17 00:00:00.000 West    Regina
9   Joan    Act 6123.00 2001-04-16 00:00:00.000 North   Toronto



update employee set city='CHENNAI',  first_name='VINOTH' where id=1

update employee set first_name='BALU',  city='MUMBAI' where id=2

哪個更快?

我想不出任何情況下 UPDATE 語句中的列順序會對性能產生任何影響。當然,這是你可以測試的。

我也無法想像任何情況下,單個表有 2,000 列是個好主意。

對於如圖所示的查詢速度,對性能的主要影響將是您是否primary key在. 該索引將允許查找需要更新的行。unique``id

關於列順序cityfirst_name範例中的兩個更新,沒有區別。您應該將一行中的兩列更改視為同時發生*。*

此外,為了清楚起見,如果您的更新更改了許多行,您仍然應該將更改視為一次發生。(當然,這可能需要更長的時間。)

引用自:https://dba.stackexchange.com/questions/62294