共有
  • 記事へのコメント6

    • 注目コメント
    • 新着コメント
    その他
    bebit
    bebit OracleDatabaseが仕様上「INで指定できるのは100件まで」で1000超の場合に中間テーブル(更新対象のIDを格納)を介すことで1000件越えられる&パフォーマンスが(多少)よくなったりします。ただ実環境だと使えなさそうな方法

    2024/12/09 リンク

    その他
    rs-mt
    rs-mt “IN 句の要素が1,000個と多いせいで、オプティマイザがフルスキャンを選択し、テーブル全体のレコードを走査 & ロックしようとしている”

    2024/12/09 リンク

    その他
    rryu
    rryu テーブルスキャンが選択された際に更新対象ではない行もロックされるというのが驚きポイントだと思う。実行計画によってデッドロックするかどうかが決まるのはちょっと辛い。

    2024/12/09 リンク

    その他
    yasushicohi
    yasushicohi “IN 句の要素が1,000個と多いせいで、オプティマイザがフルスキャンを選択し、テーブル全体のレコードを走査 & ロックしようとしている可能性がありそうです。”

    2024/12/08 リンク

    その他
    NetPenguin
    NetPenguin おぉー、なるほど。 SELECT時に、予想される対象行が多い場合にフルスキャンになるのは知っていたけど、INでもそうなのか。そして、UPDATEのWHEREでも同様なのか。考えれば、それはそうかと思うけど、思い至らなそう。

    2024/12/08 リンク

    その他
    nakag0711
    nakag0711 画面の左が切れる。デッドロックは完全には防ぎきれないだろうけども…こういう場合はロックのエスカレーションしないようにできないものかね

    2024/12/08 リンク

    その他

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

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

    関連記事

    MySQL の UPDATE で IN 句の要素が多すぎてデッドロックした話 #LayerXテックアドカレ - LayerX エンジニアブログ

    この記事は、LayerX Tech Advent Calendar 2024 の7日目の記事です。 tech.layerx.co.jp こんにちは。バ...

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

    すべてのユーザーの
    詳細を表示します

    同じサイトの新着

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

    いま人気の記事

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

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

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

    新着記事 - テクノロジー

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

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