新米エンジニアの失敗再発防止メモ

自分そしてこの世界の皆が、同じ失敗をしないためのメモ

Twitterやってます!@rakuton_t
欲しいものリストのブタメンを送ってくれた方、ありがとうございます!

sql server

DBにInsert(挿入)した順番にソートして参照する簡単な方法

前提 これからInsertするデータが前提です。 既にInsertしたデータについては、どうやるか知らないです。 ずばりこれ オートインクリメントの属性を持つ列を追加する!sql serverでやる場合はこちらが分かりやすいです。 テーブルの列を自動インクリメント列…

【SQL Server】SELECTやUPDATEが極端に重いときの対処

ずばりこれをやれば良い EXEC sp_updatestats; --DB単位で実行OR UPDATE STATISTICS <テーブル名 or インデックス付きビュー名>; 統計情報を更新 上記のクエリを流すことで、「統計情報」というものが更新されます。 これは、SQL Serverで内部的に保持してい…

【SQL Server】意図的にテーブル単位で排他的ロックをかけてタイムアウトを発生させる。

ずばり、こうやる。 begin tran select * from テーブル名 with(TABLOCKX) --rollback --ロックする必要がなくなったらちゃんとトランザクションを解放しましょうテストフェーズでは、タイムアウト時の例外処理の動作確認などしたい時がありますよね。 そん…

【Microsoft SQL Server Management Studio】SELECT結果をコピーした時、改行が消されてしまう。

結果 改行が はいらない です。改行が入りません。これでは本来の結果とは変わってしまっています。 改行を入れたい場合は、以下のようにする 「コピーまたは保存時に CR/LF を保持」にチェックを入れる。この状態でクエリウィンドウを開きなおしてやってみ…

【SQL Server】BulkInsert がうまくいかない場合のメモ

SQL Server 2017からは FORMAT = ‘CSV’と書けば勝手に上手くやってくれるらしいっすね 2018/10/16 追記 ずばりこれ ・CSVの改行コードは 「CR+LF(\r\n)」にして、 Bulk Insertのオプションに、 ROWTERMINATOR = '\n'を指定する。「\r\n」ではない。 ・各デー…

SqlBulkCopyの使い方 ~Linqによる遅延評価とIDataReaderによるメモリの節約~

以前投稿したこちらの記事では、SqlBulkCopyを使用することによって、数十万件のデータを短時間で一括insertする方法を紹介した。 maitakeramen.hatenablog.comしかし、例えば数十万行とある郵便番号のデータなどをinsertしようとした場合、 約100MBほどのメ…

SqlBulkCopyの使い方

SqlBulkCopyを使う際に、(私が間抜けなばかりに)苦労したのでそのメモ書きである。※本記事では、サンプルコードはC#のみとなる。 目次 ・SqlBulkCopyとは何か、使う場面・具体的な使い方・注意点・順番に関わらず、フィールド名を紐づける・総括 (adsbygoogl…

私の記事が役に立ったら、どうぞ何か買ってください!→ Amazon欲しいものリスト