私は更新しようとしている大きなテーブルを持っていますが、(選択)としてCreate Tableを行うほうがはるかに速いと言われました。たとえば、あなたは(明らかに)1はこれを行うだろうか、これが本当であると仮定すると、テーブルを別のテーブルから選択しますか?
Create TableANew as (Select UPPER(Field1),Field2,FieldN from TableA);
Drop Table TableA;
Rename Table TableANew to TableA
を行うには速いだろうUPPERに千万レコードテーブルにフィールド1を更新したい場合は、更新フィールドが行われる必要があります参加として?言い換えれば、私の当初の計画だった場合:
Update TableA as T1
Inner Join TableB as T2
On T1.Product=T2.Product
Set T1.ProductID=T2.ProductID
は、どのようにその更新を(表から選択)構造として作成し、表に組み込むことができますか?明確にするために、非常に基本的なCreate TableをSelectとして使用して、理解しているようにそのクエリの構造を表示しました。私は実際にSelect(Field、Field、Join)としてCreate Tableを必要とし、最初の答えのコンテキストでもそれを設定する方法が不明ですが、テーブルの名前を変更すると、how/if私はCreate as Selectの中で参加することができます
IMOこれは行く方法ではありません。通常の更新を行います。 –
@ juergen dだからあなたの意見では速度の向上はありませんか?問題は、私が1700万レコードのテーブルを更新しており、それを4万レコードテーブルに追加する必要があるということです。 – user3649739