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

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

アプリで開く

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

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

エントリーの編集

loading...

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

タイトルガイドライン

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

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

ブックマークしました

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

Twitterで共有

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

1258users がブックマーク コメント 81

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

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

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

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

よく使うタグ

データベースを遅くするための8つの方法

1258 users zenn.dev/koduki

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

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

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

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

よく使うタグ

はてなブックマーク

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

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

ユーザー登録

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

記事へのコメント81

  • 注目コメント
  • 新着コメント
ifttt
ちょうど遅くしたいところだったので助かった

その他
electrolite
一周回ってこういうかつて当たり前の知識の念押しが必要になっている時代。正規化しすぎというのも入れておいて。/ RDBは凝りすぎるとダメになるという意味で盆栽に似ていると思っている。

その他
Rinta
"これは単純にインサート時にINDEXの再構築がたくさん走り、書き込み性能の劣化を招くからです。" すごく違和感。INDEXの更新ならわかるけど、再構築ってすごいことだと思うんだけど。RDBMSによって言葉が違うのかな。

その他
moto_motosaka
あんまりデータベースの仕組み自体に詳しくない人がやりがちなやつ。ただDB性能だけに拘りすぎると、生産性や保守性が下がるケースもあるから、デメリットを理解した上であえてやる分には問題ないこともあるっちゃ

その他
lacucaracha
この辺はDB全体の構造が分かってないとよく分からんところもあるのよね。ありがちなものとしては、アーカイブログ使わないのにREDOログをデフォルトのままにしてREDOスイッチ頻発させまくってた例とかあったね。

その他
vanbraam
余り体系的/理論的でない記事,という印象.最初の例は典型的throughput/latency tradeoffなので,まずそれを説明してから,RDBMSでの具体例を示す方が良いと思う; 8つめはRDBMSを遅くする方法ではないので,無理に入れる必要を感じない

その他
infobloga
「クライアントサイドJOIN」は時代遅れ。WebStorageが普及する前の話をしていると思われる。WebStorageが普及した現在、キャッシングを考慮するとクライアントサイドJOINのの方がネットワークトラフィックを減らせる。

その他
rti7743
RDBみたいなものを作るとしたらどう設計するかというのを、実際に作らなくても良いから、脳内で考えてみると理解しやすいと思うんだよな。設計者の気持ちになって考えて、彼らに忖度したコードを書くと早くなる。

その他
taruhachi
大量Deleteも付け加えたいが、Oracleだとそんなにしんどく無いのかな、、、。

その他
daichirata
カーディナリティが低いカラムにインデックスはケースバイケースだし、遅くなるとかそう言う話では無い気はした

その他
ryosuke-fujii
スケーラビリティを高くするためには、並列処理を妨げるUPDATE処理をいかになくすかだなぁ

その他
syque
"基本的にインデックスはカーディナリティが高いカラムに指定しないと遅くなると言うか効果がありません"

その他
y_maeyama
"シーケンスナンバーをPKにする"は、大量にデータをインサートしたりしたい場合はアンチパターになるとは知らなかった。勉強になる。

その他
efcl
DBの削除、Indexなどのボトルネックの話

その他
jun6428
相変わらず役に立つ記事は無言ブクマが多い

その他
uva
はてブの攻撃的なコメントでげんなりする

その他
sweetestsavage
目次では遅くするための方法書いてるのに説明文が遅くしないための方法書いてるからちょっと読み解きにくい

その他
surume000
いつも"シーケンスナンバーをPK"にしとった

その他
buhoho
なるほど〜と思いながら読んだところで、真に受けるとマズイみたいなブコメちょくちょくあって困惑。100文字じゃ表現できないだろうしアンサー記事待ってます♡

その他
kuroko_otomo
助かる

その他
rawwell
query optimizerを作ろうとすると自然に考える内容

その他
hachiking
"シーケンスナンバーをPKにする" この辺りとか、構成によるよなぁ。分散環境ならわかるけど、シングルノードのMySQLとかでUUIDをインデックスにすると、リーフノードの分割が発生してコスト高かった記憶がある。

その他
hiby
insertにせよupdateにせよindexにせよまあだいたいI/O絡みは遅くなるって肌感

その他
infobloga
infobloga 「クライアントサイドJOIN」は時代遅れ。WebStorageが普及する前の話をしていると思われる。WebStorageが普及した現在、キャッシングを考慮するとクライアントサイドJOINのの方がネットワークトラフィックを減らせる。

2020年11月16日 リンク

その他
nonsugertan
DB速度遅延方法

その他
Rishatang
ここまでDiscussionゼロ

その他
NOV1975
こういう奴はちゃんと本とか読んだ方が良いと思う。入門編ねこれ。

その他
rgfx
連番PK遅いとか、本当に大規模環境が当たり前の温度感なんだなあと雲の上を見上げる気持ちになるVPS単鯖おじさんの気持ち。(やりたきゃ転職しような

その他
rti7743
rti7743 RDBみたいなものを作るとしたらどう設計するかというのを、実際に作らなくても良いから、脳内で考えてみると理解しやすいと思うんだよな。設計者の気持ちになって考えて、彼らに忖度したコードを書くと早くなる。

2020年11月16日 リンク

その他
sjn
人間フレンドリーに作ると遅くなるというリッチコンピューティングの基本を人間どもはまず知るべき

その他
engisuke
失敗しながら学んできたけど、最初にこういうアンチパターンを知りたかった。

その他
daishi_n
Auroraは書き込みインスタンスが1台しかない仕様で並列クエリはできるけどストレージレイヤでやってるからOracle RACとは微妙に違うけどね

その他
wosamu
なんかもう少し前提としてRDBMSの仕組みあたりを説明した方がよさそうな気がする。つうかこのレベルだといまはもうメモリの量とかでだいたい力押しできてしまうのでは。

その他
matarillo
インデックスが平衡木なら回転ぐらいは起きると思うがそれを再構築と言うかは、どうかな

その他
nmcli
PostgreSQL勢だけど、PKにナチュラルキーの件はINSERT時の衝突可能性を排除しようと思うとserialカラムのほうが安全で好き

その他
koKekkoh
アプリからしかDBを見ていない奴のあるあるじゃないかな?

その他
fashi
具体例がなく専門用語だらけで読む前から知ってないと理解できないtipsな気がするけどついついブクマ

その他
tettekete37564
前任者が書いたコードが1クエリ数十KBのSQLクエリをDBに何回も送りつける設計だったおっお。あるテーブルのレコード数が1増えるとクエリの要素が4増える設計だったおっお。DB側のクエリパースがボトルネックになってお

その他
murasuke
シーケンスナンバーと、UUIDどちらがいいかはケースバイケース。UUIDだとキャッシュ利用率が下がるので、局所性を考えるとシーケンスNoの方が早い場合もあるし。

その他
convivial
結局すべてはケースバイケースで。こういうケースもあるよと言う意味ではとても有用だと思いました。

その他

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

リンクを埋め込む

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

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

関連記事

usersに達しました!

さんが1番目にブックマークした記事「データベースを遅...」が注目されています。

気持ちをシェアしよう

ツイートする

データベースを遅くするための8つの方法

はじめに Twitterのタイムラインを見ていたらバッチ系のプログラムで逐次コミットをやめて一括コミット... はじめに Twitterのタイムラインを見ていたらバッチ系のプログラムで逐次コミットをやめて一括コミットにしたら爆速になったというのを見ました。当たり前でしょ、と思ったけど確かに知らなければ分からないよね、と思って主に初心者向けにRDBを扱うときの注意点をまとめてみました。 プログラミングテクニック的なところからテーブル設計くらいの範疇でDBチューニングとかは入ってないです。 自分の経験的にOracleをベースに書いていますが、他のRDBでも特に変わらないレベルの粒度だと思います。 大量の逐次コミットをする バッチアプリケーションでDBにデータをインサートすると言うのはかなり一般的な処理です。しかしデータ量が少ない時はともかく大量のインサートを逐次コミットで処理するとめちゃくちゃ遅くなります。数倍から十数倍遅くなることもあるので、10分程度のバッチが1時間越えに化けることもザラにあるので原

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

  • accelerk2025年06月24日 accelerk
  • ugo_uozumi2024年10月14日 ugo_uozumi
  • samu_i2024年10月05日 samu_i
  • watatakahashi2024年09月07日 watatakahashi
  • RUMCMOOS2024年08月03日 RUMCMOOS
  • fhduyshshehe2024年01月03日 fhduyshshehe
  • ashura1562023年11月16日 ashura156
  • eight-seven2023年11月02日 eight-seven
  • tito12012023年09月28日 tito1201
  • juser2023年09月05日 juser
  • ryosuke-fujii2023年07月29日 ryosuke-fujii
  • bopperjp2023年07月02日 bopperjp
  • syque2023年05月22日 syque
  • bosh2023年04月05日 bosh
  • wawohiku2023年03月07日 wawohiku
  • knj29182022年11月05日 knj2918
  • techtech05212022年10月02日 techtech0521
  • ymdicr01012022年07月17日 ymdicr0101
すべてのユーザーの
詳細を表示します

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

同じサイトの新着

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

いま人気の記事

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

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

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

新着記事 - テクノロジー

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

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

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

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

はてなブックマーク

公式Twitter

はてなのサービス

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

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