2017-06-08 8 views
2
で大規模なデータセット上で信頼性の高いXが

私の質問は以下のMSSQLに大きなデータセットで信頼性があるかどうかにある。セレクトトップは、MSSQL

select top 1 * from table order by row_id 
会ったときに返すことを、いくつかのしきい値があった場合、私は思っていた

1組のデータからトップ1。たとえば、何百万行ものテーブルがあって、返された行が実際に最上列になるか、そのデータのサブセットの一番上の行であるかが信頼できる場合は、上記のクエリが実行されました。

+0

の数を返します@iそれは確かに返されたデータから、トップ1行になります。 –

+0

レコードがあれば1行しか返しません –

+1

[この回答](https://dba.stackexchange.com/a/171443/95107)を別のquesitonからチェックアウトする必要があります。具体的には[クエリを確定的にするためにはorder byを使用する必要があります](https://blogs.msdn.microsoft.com/conor_cunningham_msft/2008/08/27/no-seatbelt-expecting-order-without-order-by/) 2つのレコードがあるか200万になっても、あなたの 'ORDER BY'に基づいて' TOP 1'の行が得られることを保証します。 – scsimon

答えて

2

'order by'句がある限り、一貫性と信頼性の両方があります。あなたは以下のように変数に基づいて制御することができます

+0

それは私が明確化のために感謝したものです – Maxqueue

0

declare @i int = 1 
select top(@i) * from NumSeq order by col1 

BASEDON変数には、レコード

+1

興味深い情報ですが、OPの質問には全く答えません。 – hatchet