[過去ログ] C#, C♯, C#相談室 Part91 [無断転載禁止]©2ch.net (1002レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
986(1): デフォルトの名無しさん [sage] 2017/01/29(日) 22:51:26.56 ID:M0HgmB1M(1/3) AAS
二段構えにする必要はない
比較に必要な全てのカラムセットにuniqueインデックス張りなさい
991: デフォルトの名無しさん [sage] 2017/01/29(日) 23:37:15.13 ID:M0HgmB1M(2/3) AAS
>>989989(3): デフォルトの名無しさん [sage] 2017/01/29(日) 23:27:53.21 ID:F8/CipCU(3/4) AAS
>>988
すいません、「DBから取り出す」という表現が何を指しているのかよくわかりません…
いま思案しているのはデータの集計作業時ではなく登録作業時の話です
各データについて、一部のプロパティの値を確定させるには処理時間がかなり必要になっています
追加登録したいデータたちについて、このプロパティ値をあらかじめすべて確定するのは非常に時間がかかるので
まず弱比較でざっくりと追加可能な候補(プロパティ値を確定しなければならないデータたち)を絞っているのです
今はこんな風にしてます(実際のコードでは日本語変数じゃないです)
候補データリスト = 追加したいデータのリスト.Except(全リスト, new MyClass_WeakComparator()).ToList();
↓
候補データリスト について全プロパティ確定作業; //←重い
↓
全リスト = 全リスト.Union(候補データリスト).ToList();
insert into 処理対象テーブル
select 追加後の値を得る計算式
from 処理対象テーブル
where 追加対象を得る条件式
これでいいんじゃないの?
弱比較とかよくわからん言葉遣いはやめた方がいい混乱するから
992(1): デフォルトの名無しさん [sage] 2017/01/29(日) 23:50:32.58 ID:M0HgmB1M(3/3) AAS
なんか違うなこうか
insert into 全リスト
select 任意の計算式
from 追加データ
where not exists (
select *
from 全リスト
where 簡易な比較条件式)
and 完全な比較条件式
インデックスは簡易な比較に使うカラムだけでいいよ
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.031s