sql server
前提 これからInsertするデータが前提です。 既にInsertしたデータについては、どうやるか知らないです。 ずばりこれ オートインクリメントの属性を持つ列を追加する!sql serverでやる場合はこちらが分かりやすいです。 テーブルの列を自動インクリメント列…
ずばりこれをやれば良い EXEC sp_updatestats; --DB単位で実行OR UPDATE STATISTICS <テーブル名 or インデックス付きビュー名>; 統計情報を更新 上記のクエリを流すことで、「統計情報」というものが更新されます。 これは、SQL Serverで内部的に保持してい…
ずばり、こうやる。 begin tran select * from テーブル名 with(TABLOCKX) --rollback --ロックする必要がなくなったらちゃんとトランザクションを解放しましょうテストフェーズでは、タイムアウト時の例外処理の動作確認などしたい時がありますよね。 そん…
結果 改行が はいらない です。改行が入りません。これでは本来の結果とは変わってしまっています。 改行を入れたい場合は、以下のようにする 「コピーまたは保存時に CR/LF を保持」にチェックを入れる。この状態でクエリウィンドウを開きなおしてやってみ…
SQL Server 2017からは FORMAT = ‘CSV’と書けば勝手に上手くやってくれるらしいっすね 2018/10/16 追記 ずばりこれ ・CSVの改行コードは 「CR+LF(\r\n)」にして、 Bulk Insertのオプションに、 ROWTERMINATOR = '\n'を指定する。「\r\n」ではない。 ・各デー…
以前投稿したこちらの記事では、SqlBulkCopyを使用することによって、数十万件のデータを短時間で一括insertする方法を紹介した。 maitakeramen.hatenablog.comしかし、例えば数十万行とある郵便番号のデータなどをinsertしようとした場合、 約100MBほどのメ…
SqlBulkCopyを使う際に、(私が間抜けなばかりに)苦労したのでそのメモ書きである。※本記事では、サンプルコードはC#のみとなる。 目次 ・SqlBulkCopyとは何か、使う場面・具体的な使い方・注意点・順番に関わらず、フィールド名を紐づける・総括 (adsbygoogl…