MS SQL ServerでROW_NUMBERを使用しているときとIDENTITYをORDER BYステートメントで使用しているときに(結果セット、パフォーマンス、または意味の意味に関して)違いはありますか?例えば、カラム「姓」のテーブルを指定された意味論的意味が異なるROW_NUMBERとIDENTITYとORDER BY
SELECT FirstName, ROW_NUMBER() OVER (ORDER BY FirstName) AS Position
INTO #MyTempTable
FROM MyTable
と
SELECT FirstName, IDENTITY(BIGINT) AS Position
INTO #MyTempTable
FROM MyTable
ORDER BY FirstName
両方のオプションの実行計画を見てください。それはあなたにパフォーマンスのかなり良い指標を与えるでしょう。私はそこに大きな違いがあるとは思わない。 –
@scsimonそのことについて100%は確信していません – JamieD77
@scsimon 2番目のクエリは、出力が同じになるように順序があります。定義上、テーブルには順序がありません。 –