0

テーブル内の 10000 を超える行を更新する必要があり、テーブルに 700000 を超えるレコードが含まれていて、主キーを更新する必要がある行が継続的に存在する場合。最大の主キーを取得してから、SQLクエリで「以下」を使用するか、クエリで使用する必要がありますか?

4

2 に答える 2

1

使用するのが最善ですbetween

entity_id(PK) が 10 から 10000 の範囲にあるテーブルの column1 を更新するとします。

update table set column1=somevalue where id between 10 and 10000

Usingin句では、サブクエリからIDを取得するか、中括弧を入れる必要があります

于 2012-12-06T06:56:21.843 に答える
0

それらは同一であるため、速度やその他の点で違いはありません。もっと自然に使ったほうがいい。

単純に以下を使用できます

UPDATE table_name SET column_name=value WHERE row_id <= 10000

注意すべきことの 1 つは、これを DATETIME に対して使用している場合、終了日の一致がその日の始まりになることです。

<= 6/12/2012 は <= 6/12/2012 23:59:59 と同じではありません (これは <= 6/12/2012 00:00:00.000 と一致します)

于 2012-12-06T07:08:51.390 に答える