2022/06/16 11:11
nmcli
なるほど UPDATE するたびに CURRENT_TIMESTAMP にしたいが、updated_at のカラムを直接いじるときは対象外にしたい、を実現しようとするとこうなるのか。トリガーだけでなんとかなるのね。
2022/06/16 11:47
codehex
恥ずかしながら ON UPDATE 知らなかった
2022/06/16 12:31
lainof
updated_atがレコードの更新日時を表すなら強制的に更新すべきじゃない?(指定できちゃうと信用できなくなる)そうすればトリガーは一つで済む。業務的な更新日時が必要なら別の列を設けてアプリから更新した方が良い。
2022/06/16 12:51
yarumato
“idは連番かUUIDか。UUIDのバージョンと型。created_at,updated_atのテーブル定義。MySQLのTIMESTAMP型は2038年で頭打ちになる。MySQLのupdated_atは更新された場合のみ自動で埋めることが可能。Postgresはトリガーが3つも必要”
2022/06/16 13:23
shag
そうか。分散前提だと UUIDv4 のほうが便利なのか。serial 型というか sequence の管理割と面倒だしな。
2022/06/16 13:35
asflash8
学び
2022/06/16 13:47
yuuAn
MySQL の TIMESTAMP の 2038 年問題なんとかならないのかなあ
2022/06/16 14:35
dagama
だいたい分散しなくていいことの方が多いので連番で済ませちゃうやつ
2022/06/16 14:45
at_yasu
UUID v7 そんなのできたのか。ほー。
2022/06/16 15:03
n314
serialが基本だしタイムゾーン使ってないしあんまり共感できないなあ。分散環境ならserialの選択肢がなくなるから分散前提かと思えばmysqlを見るとそうでもないみたいだし。updated_atはトリガー一つでNEW!=OLD入れてる。
2022/06/16 15:08
hotmilkcocoa
関係ないけど PostgreSQL 10 からは serial じゃなくて generated as identity を基本使うべきっていう話がある
2022/06/16 16:05
syu-m-5151
“Postgres と MySQL における id, created_at, updated_at に関するベストプラクティス”
2022/06/16 16:44
snowcrush
自分も強制更新した方がいいに一票。行の最終更新日以外の意味を持たせるならカラムを分けた方がいい。
2022/06/16 18:38
soreso
すごい(幼並感)
2022/06/16 21:16
zgmf-x20a
タグはPostgreSQLなのにPostgres?読みはそうなんだけどね。
2022/06/16 21:22
taruhachi
updated timestampはシステムで自動的に発行するものと、アプリケーションで管理するものと二重管理するべきと思ってる。理由はDB間のデータマイグレーションなどでバックデートで入れたい時などはある為。
2022/06/16 21:22
hogege
φ(.. )
2022/06/17 01:24
kako-jun
CREATE TRIGGER が3つ並んだ箇所が、封神演義の絵なみに目が滑りました
2022/06/17 07:53
namabacon
時系列ソート可能なuuid互換でulidというのがあったけどuuidv7の方が良さそうなのかな
2022/06/17 08:39
circled
MySQL:「世界は1970年に始まった(タイムスタンプを眺めながら)」 vs Postgres:「で、でたぁー、宇宙は3分前に始まったとしても問題無いとか哲学ぶっちゃう奴〜」
2022/06/17 09:30
hmatsu47
PostgreSQLでも(クラスタインデックス関係なく)PKがUUIDv4みたいなランダム値だと挿入時の性能ペナルティが生じる点については注意が必要。高頻度挿入するような使い方をしなければあまり気にする必要はないけど。
2022/06/17 09:51
kamm
そろそろ分散、シャーディングを考慮に入れた新時代のRDB出てきてほしいな。NoSQLまで尖ってないやつ。クエリを発行したら複数のDBから必要データを返す的な。
2022/06/19 23:09
tmatsuu
UUIDv7知らなかったんだけど、新たにUUIDv6, UUIDv7, UUIDv8 ってのがdraftになっていることを知った。昔英語の記事でbigint vs uuidってのを見かけたな。わいわい