[過去ログ]
PostgreSQL Part.11©2ch.net (1002レス)
上
下
前
次
1-
新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
964
:
962
2023/07/02(日)22:36 ID:???
AA×
[240|
320
|
480
|
600
|
100%
|
JPG
|
べ
|
レス栞
|
レス消
]
964: 962 [sage] 2023/07/02(日) 22:36:06.35 ID:??? 同じ話題を引っ張り続けて申し訳ないけど、自分でinsert〜on conflict do update(upsert)相当の事をするのが面倒すぎて、趣味ですら面倒で手が止まる。 仕事じゃ絶対提案出来ないな(ダルすぎて) 自分の場合は実際には1000件単位のデータをupsertしてるんだけど、この数だと1件づつselect→(update or insert)は遅すぎる。 select文で1000件のデータのユニークキーに対して長いwhere 文を作る。 ( SELECT id,key FROM tbl WHERE key in ( $1 , $2 , $3 .... , $1000) ) select文の結果を入れたい1000件単位のデータと比較して、1件づつinsertするかupdateするかを判定する insert、updateも1件づつやるとトランザクションしても遅いから1リクエストで済むように動的にクエリ文を作る。 ( INSERT INTO tbl (key) VALUES ($1),($2)... ) ( UPDATE tbl SET key=c.key FROM( VALUES ( ($1,$2),($3,$4),...) AS c(id,key) WHERE tbl.id=c.id ) そしてupsertから加えた機能で、含まれてないデータをDELETEもするようにしてるからさらにクエリ文が増える。 SQL文の文字列をプログラムから動的に作るんじゃなくて、 O/Rマッパーというのを使ってもっと構造的に出来るようにするべきなんだろうか…。 ちなみにnode.jsです。 http://mevius.5ch.net/test/read.cgi/db/1462257753/964
同じ話題を引っ張り続けて申し訳ないけど自分で 相当の事をするのが面倒すぎて趣味ですら面倒で手が止まる 仕事じゃ絶対提案出来ないなダルすぎて 自分の場合は実際には件単位のデータをしてるんだけどこの数だと件づつ は遅すぎる 文で件のデータのユニークキーに対して長い 文を作る 文の結果を入れたい件単位のデータと比較して件づつするかするかを判定する も件づつやるとトランザクションしても遅いからリクエストで済むように動的にクエリ文を作る そしてから加えた機能で含まれてないデータをもするようにしてるからさらにクエリ文が増える 文の文字列をプログラムから動的に作るんじゃなくて マッパーというのを使ってもっと構造的に出来るようにするべきなんだろうか ちなみにです
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 38 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
ぬこの手
ぬこTOP
0.038s