[フレーム]
はてなブックマークアプリ

サクサク読めて、
アプリ限定の機能も多数!

アプリで開く

気に入った記事をブックマーク

  • 気に入った記事を保存できます
    保存した記事の一覧は、はてなブックマークで確認・編集ができます
  • 記事を読んだ感想やメモを書き残せます
  • 非公開でブックマークすることもできます
適切な情報に変更

エントリーの編集

loading...

エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。

タイトルガイドライン

このページのオーナーなので以下のアクションを実行できます

タイトル、本文などの情報を
再取得することができます
コメントを非表示にできます コメント表示の設定

ブックマークしました

ここにツイート内容が記載されます https://b.hatena.ne.jp/URLはspanで囲んでください

Twitterで共有

ONにすると、次回以降このダイアログを飛ばしてTwitterに遷移します

499users がブックマーク コメント 26

ガイドラインをご確認の上、良識あるコメントにご協力ください

0 / 0
入力したタグを追加

現在プライベートモードです 設定を変更する

おすすめタグタグについて

よく使うタグ

Postgres と MySQL における id, created_at, updated_at に関するベストプラクティス

499 users zenn.dev/mpyw

ガイドラインをご確認の上、良識あるコメントにご協力ください

0 / 0
入力したタグを追加

現在プライベートモードです 設定を変更する

おすすめタグタグについて

よく使うタグ

はてなブックマーク

はてなブックマークで
関心をシェアしよう

みんなの興味と感想が集まることで
新しい発見や、深堀りがもっと楽しく

ユーザー登録

アカウントをお持ちの方はログインページ

記事へのコメント26

  • 注目コメント
  • 新着コメント
lainof
updated_atがレコードの更新日時を表すなら強制的に更新すべきじゃない?(指定できちゃうと信用できなくなる)そうすればトリガーは一つで済む。業務的な更新日時が必要なら別の列を設けてアプリから更新した方が良い。

その他
hotmilkcocoa
関係ないけど PostgreSQL 10 からは serial じゃなくて generated as identity を基本使うべきっていう話がある

その他
dagama
だいたい分散しなくていいことの方が多いので連番で済ませちゃうやつ

その他
taruhachi
updated timestampはシステムで自動的に発行するものと、アプリケーションで管理するものと二重管理するべきと思ってる。理由はDB間のデータマイグレーションなどでバックデートで入れたい時などはある為。

その他
n314
serialが基本だしタイムゾーン使ってないしあんまり共感できないなあ。分散環境ならserialの選択肢がなくなるから分散前提かと思えばmysqlを見るとそうでもないみたいだし。updated_atはトリガー一つでNEW!=OLD入れてる。

その他
nmcli
なるほど UPDATE するたびに CURRENT_TIMESTAMP にしたいが、updated_at のカラムを直接いじるときは対象外にしたい、を実現しようとするとこうなるのか。トリガーだけでなんとかなるのね。

その他
circled
MySQL:「世界は1970年に始まった(タイムスタンプを眺めながら)」 vs Postgres:「で、でたぁー、宇宙は3分前に始まったとしても問題無いとか哲学ぶっちゃう奴〜」

その他
shag
そうか。分散前提だと UUIDv4 のほうが便利なのか。serial 型というか sequence の管理割と面倒だしな。

その他
nilab
Postgres と MySQL における id, created_at, updated_at に関するベストプラクティス

その他
miguchi
"created_at updated_at"

その他
rochefort
uuid

その他
tmatsuu
UUIDv7知らなかったんだけど、新たにUUIDv6, UUIDv7, UUIDv8 ってのがdraftになっていることを知った。昔英語の記事でbigint vs uuidってのを見かけたな。わいわい

その他
kamm
そろそろ分散、シャーディングを考慮に入れた新時代のRDB出てきてほしいな。NoSQLまで尖ってないやつ。クエリを発行したら複数のDBから必要データを返す的な。

その他
hmatsu47
PostgreSQLでも(クラスタインデックス関係なく)PKがUUIDv4みたいなランダム値だと挿入時の性能ペナルティが生じる点については注意が必要。高頻度挿入するような使い方をしなければあまり気にする必要はないけど。

その他
circled
circled MySQL:「世界は1970年に始まった(タイムスタンプを眺めながら)」 vs Postgres:「で、でたぁー、宇宙は3分前に始まったとしても問題無いとか哲学ぶっちゃう奴〜」

2022年06月17日 リンク

その他
kako-jun
CREATE TRIGGER が3つ並んだ箇所が、封神演義の絵なみに目が滑りました

その他
taruhachi
taruhachi updated timestampはシステムで自動的に発行するものと、アプリケーションで管理するものと二重管理するべきと思ってる。理由はDB間のデータマイグレーションなどでバックデートで入れたい時などはある為。

2022年06月16日 リンク

その他
hogege
φ(.. )

その他
zgmf-x20a
タグはPostgreSQLなのにPostgres?読みはそうなんだけどね。

その他
soreso
すごい(幼並感)

その他
snowcrush
自分も強制更新した方がいいに一票。行の最終更新日以外の意味を持たせるならカラムを分けた方がいい。

その他
syu-m-5151
"Postgres と MySQL における id, created_at, updated_at に関するベストプラクティス"

その他
hotmilkcocoa
hotmilkcocoa 関係ないけど PostgreSQL 10 からは serial じゃなくて generated as identity を基本使うべきっていう話がある

2022年06月16日 リンク

その他
n314
n314 serialが基本だしタイムゾーン使ってないしあんまり共感できないなあ。分散環境ならserialの選択肢がなくなるから分散前提かと思えばmysqlを見るとそうでもないみたいだし。updated_atはトリガー一つでNEW!=OLD入れてる。

2022年06月16日 リンク

その他
at_yasu
UUID v7 そんなのできたのか。ほー。

その他
dagama
dagama だいたい分散しなくていいことの方が多いので連番で済ませちゃうやつ

2022年06月16日 リンク

その他
yuuAn
MySQL の TIMESTAMP の 2038 年問題なんとかならないのかなあ

その他
enemyoffreedom
PostgreSQLでのupdated_atのデフォルト値の設定

その他
asflash8
学び

その他
shag
shag そうか。分散前提だと UUIDv4 のほうが便利なのか。serial 型というか sequence の管理割と面倒だしな。

2022年06月16日 リンク

その他
yarumato
"idは連番かUUIDか。UUIDのバージョンと型。created_at,updated_atのテーブル定義。MySQLのTIMESTAMP型は2038年で頭打ちになる。MySQLのupdated_atは更新された場合のみ自動で埋めることが可能。Postgresはトリガーが3つも必要"

その他
lainof
lainof updated_atがレコードの更新日時を表すなら強制的に更新すべきじゃない?(指定できちゃうと信用できなくなる)そうすればトリガーは一つで済む。業務的な更新日時が必要なら別の列を設けてアプリから更新した方が良い。

2022年06月16日 リンク

その他
codehex
恥ずかしながら ON UPDATE 知らなかった

その他
nmcli
nmcli なるほど UPDATE するたびに CURRENT_TIMESTAMP にしたいが、updated_at のカラムを直接いじるときは対象外にしたい、を実現しようとするとこうなるのか。トリガーだけでなんとかなるのね。

2022年06月16日 リンク

その他

注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています

リンクを埋め込む

以下のコードをコピーしてサイトに埋め込むことができます

プレビュー
アプリのスクリーンショット
いまの話題をアプリでチェック!
  • バナー広告なし
  • ミュート機能あり
  • ダークモード搭載
アプリをダウンロード

関連記事

usersに達しました!

さんが1番目にブックマークした記事「Postgres と MySQL...」が注目されています。

気持ちをシェアしよう

ツイートする

Postgres と MySQL における id, created_at, updated_at に関するベストプラクティス

読者対象 ある程度データベースに関する知識を持っている,経験年数 1 年以上のバックエンドエンジニア ... 読者対象 ある程度データベースに関する知識を持っている,経験年数 1 年以上のバックエンドエンジニア 特定のプログラミング言語に依存する部分は含めないため,すべての SQL 使用者を対象とする また,ゼロからの丁寧な説明というよりは,リファレンス感覚で使える記事という形にまとめる。 RDBMS の対象バージョン PostgreSQL: 9.4 以降 MySQL: 8.0.28 以降 id (データ型と INSERT 時のデフォルト埋め) 導入 一般的に採用されやすいプライマリキー用の値として,以下を考える。 連番整数 MySQL では AUTO_INCREMENT, Postgres では IDENTITY や SERIAL と呼ばれるもの UUID v1: ハードウェアごとにユニークな単調増加値 UUID v4: ランダム値 UUID v7(ドラフト): 単調増加であるタイムスタンプとラ

ブックマークしたユーザー

  • igz02024年11月11日 igz0
  • ndxbn2024年11月10日 ndxbn
  • retdaisuke2024年09月03日 retdaisuke
  • mziyut1122024年09月02日 mziyut112
  • penguinwatcher2024年04月29日 penguinwatcher
  • delegate2024年04月25日 delegate
  • nilab2024年04月05日 nilab
  • susisu2024年01月10日 susisu
  • uokada2023年12月26日 uokada
  • rummelonp2023年12月04日 rummelonp
  • chibahiro2023年07月02日 chibahiro
  • miguchi2023年05月05日 miguchi
  • knj29182023年05月03日 knj2918
  • akishin9992023年05月02日 akishin999
  • techtech05212023年03月06日 techtech0521
  • tetram2022年08月25日 tetram
  • takc9232022年07月24日 takc923
  • hamaco2022年07月14日 hamaco
すべてのユーザーの
詳細を表示します

ブックマークしたすべてのユーザー

同じサイトの新着

同じサイトの新着をもっと読む

いま人気の記事

いま人気の記事をもっと読む

いま人気の記事 - テクノロジー

いま人気の記事 - テクノロジーをもっと読む

新着記事 - テクノロジー

新着記事 - テクノロジーをもっと読む

同時期にブックマークされた記事

いま人気の記事 - 企業メディア

企業メディアをもっと読む

はてなブックマーク

公式Twitter

はてなのサービス

Copyright © 2005-2025 Hatena. All Rights Reserved.
設定を変更しましたx

AltStyle によって変換されたページ (->オリジナル) /