- ベストアンサー
更新文
いつもお世話になっております。 00000もしくは、000000より始まる10桁の数字で構成されている100万件のデータがあります。 ※残数字は1~9までの数字がランダムです。 こ10桁の数字を6桁の数字にupdateしたいのです。(前のゼロ4つを切捨) どのようにすれば高速に処理できるでしょうか。 ご教示の程宜しくお願い致します。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
たぶん、裏ワザはないと思います。 update Table1 set numfld=substring(numfld,5,6) ・インデックスがついているなら一旦落とす ・DBアクセスのない時間帯を選んで実行する くらいかと。 SQL Serverの場合、オブジェクト依存関係が厳密ではないので、別のテーブルにコピーして、更新を掛けておいてから差し替えるという手もとれなくはないですが。それは「そのテーブルが使えない時間帯を極力短くする必要がある」場合くらいです。 マシンスペック次第ですが、100万件なら20~30秒でそもそも更新できてしまうと思います。