記事へのコメント52

    • 注目コメント
    • 新着コメント
    uzulla
    uzulla 「ぐるぐるSQL(ぐるぐる系)」用語確立してるとは(どこか大手の方言かと)。初心者に口頭なら「N+1」「その『N』ってなに?!でも聞けない!」とならなくてよいのかな。けどN+1でおぼえてもらった方が後で楽そうw

    2021/01/25 リンク

    その他
    tmatsuu
    tmatsuu 繰り返し実行するクエリーは単体だと十分に高速でスロークエリーに引っかからない(けど何度も呼び出すから塵積って遅い)ことがあるから厄介。performance_schemaやpg_stat_statementsを活用しよう。

    2021/01/24 リンク

    その他
    saikyo_tongaricorn
    saikyo_tongaricorn ミック氏のSQL本にぐるぐる系SQLとガツン系SQLって表現されてるし鬼の首を獲ったかのようにN+1な、って言われても

    2021/01/19 リンク

    その他
    rasterson
    rasterson 出力先をテーブルにすればSQL文1つで出来そう。(javaプログラミングは要らない)

    2021/01/19 リンク

    その他
    rryu
    rryu サマリの表みたいなのをアプリ側の実装だけで作るとこうなりがちである。DBにビューを作れば大体解決するのだが、ビューをマイグレーションできるORMは意外と無いので面倒ではある。

    2021/01/19 リンク

    その他
    sawat
    sawat N+1問題のことね → (追記) コメント欄参照。なるほど…

    2021/01/19 リンク

    その他
    takopons
    takopons 昔、新人が書いたSQLがfor文内にOPENとSELECTとCLOSEがあって、DBの接続と切断をfor文の外で1回だけやるように助言したら処理が格段に速くなって、その新人が感動していた。でも、もしかしたらfor文も実は不要だったかも。

    2021/01/19 リンク

    その他
    satomi_hanten
    satomi_hanten NESTED LOOPの話かと思ったら違った。特に変えてないのに急に遅くなった→元々の実装に問題があるってパターンかと。

    2021/01/19 リンク

    その他
    takc923
    takc923 ただのN+1問題だった

    2021/01/19 リンク

    その他
    jiro68
    jiro68 プログラマーがDBの特性を理解していないので起こる問題。このケースではDBだが、ネットワークとかプログラム実効速度とレイテンシーが桁違いに遅いモジュールを意識していないと起こりがち。

    2021/01/19 リンク

    その他
    D_first
    D_first たびたび話題に上がるなこれ。ぐるぐる系とかガツン系って言い回しはミック氏の本が最初なんだろうか。ただ、ぐるぐる系を批判していたミック氏も、後年にぐるぐる系にも一定の価値があると再評価してた気がする

    2021/01/19 リンク

    その他
    Shinwiki
    Shinwiki PDCAが流行ったから、物事を考える手段がそれにつられてるとか…

    2021/01/19 リンク

    その他
    doko
    doko SQLじゃないけど、確かにプログラミングでやたらぐるぐるさせがちだなぁ。APIとか文法でなんとかなる言語が多いのに

    2021/01/19 リンク

    その他
    su_zu_ki_1010
    su_zu_ki_1010 テーブル設計、見積もった件数と実際の件数の乖離、当初の想定からかけ離れた仕様、など色々あるのでぐるぐるSQLが悪いとは一概には言えない。まぁ新規開発時に遭遇するレスポンスの悪さはたいていはぐるぐるSQL。

    2021/01/19 リンク

    その他
    findup
    findup ぐるぐるSQLって割と一般的な言い方なの…?/ミック氏の名前は知ってるが本読んでないしそんなに経典のように読んでて当然な本なのか

    2021/01/19 リンク

    その他
    nippondanji
    nippondanji 敢えて言うがJOINは速い。JOINを嫌う人が多いけど、同じデータにアクセスするならDB側でやった方が圧倒的に速い。データのキャッシュは一貫性の問題がつきまとうので、安易にやるべきではないと思う。

    2021/01/19 リンク

    その他
    rck10
    rck10 とはいえ、基本的に機能のモジュール強度と呼び出しオーバーヘッドはトレードオフだからなぁ。「1要件向けの最強の部品」は再利用性は皆無でしょ。どこかで性能を諦めないと、いつまでもモノリシックのまま。

    2021/01/19 リンク

    その他
    masatomo-m
    masatomo-m 最後にもあるマイクロジョブ化・オンデマンド処理化によって非効率になるのはあるあるだなあ。バッチだと10~1000倍速いけど、1件ずつ回すのはそれはそれでresume・異常対応しやすいというのはあるのでどっちもあり得る

    2021/01/19 リンク

    その他
    noseld
    noseld ぐるぐるSQLって言うの知らなかった。

    2021/01/19 リンク

    その他
    yamadar
    yamadar SQLはいちどシビアな現場で経験積んでおくとその後の役に立つと思う

    2021/01/19 リンク

    その他
    hiroomi
    hiroomi “マイクロサービスとかいって、REST API 呼び出しをループで大量に実行しようとする”

    2021/01/19 リンク

    その他
    oakbow
    oakbow 他ブコメと同じく実行計画の話かと思ったらもっと浅いところだった。N+1じゃないけどなんでもORMで解決できるわけじゃないので、ちゃんと発行されるSQLは見なくちゃ駄目。この程度のSQLで長いとか言うのも駄目。

    2021/01/19 リンク

    その他
    greencoffeemaker
    greencoffeemaker ここ1、2年のプロジェクトでパフォーマンス問題が出たのは確かにぐるぐるSQLが多かった。アプリ側での対応必要よね。

    2021/01/19 リンク

    その他
    dowhile
    dowhile ORMが勝手に生成するねん

    2021/01/19 リンク

    その他
    uxoru
    uxoru 気持ちはわかるが可読性を考えた結果、プロジージャーでぐるぐるSQLを書かざるを得ない時とかあったなあ

    2021/01/19 リンク

    その他
    nekochiyo
    nekochiyo 昔はORMが無かったから少なかったのだろうな

    2021/01/19 リンク

    その他
    Fushihara
    Fushihara 一撃SQL書くのは気持ちいいけどメンテナンスが地獄なんだよね

    2021/01/19 リンク

    その他
    tsutsumi154
    tsutsumi154 ケースバイケースだとは思うけど例に挙げられてるケースならループさせない方法を考えるかな イテレーションしたほうが楽なケースもあるとは思う

    2021/01/18 リンク

    その他
    kagehiens
    kagehiens インデックスちゃんと使える構成だったら100万件だろうと1000万件だろうと余裕よ!!ただし、ソートし直しをさせられる使い方である場合を除く。

    2021/01/18 リンク

    その他
    tohokuaiki
    tohokuaiki ブコメで皆さんが思い思いの「ぐるぐるSQL」を綴られてますが、私のインプレッションはウロボロスでした。

    2021/01/18 リンク

    その他

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

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

    関連記事

    ぐるぐるSQLは止めてくださいという話 - Qiita

    1. はじめに 仕事の都合で DB/SQL の性能問題を調査する機会が少なくありませんが(決してメインの仕事...

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

    • techtech05212024/04/13 techtech0521
    • roogh5eeSha62023/11/16 roogh5eeSha6
    • knj29182023/01/20 knj2918
    • ymdicr01012022/07/10 ymdicr0101
    • Pahud2021/03/10 Pahud
    • sagar2021/02/12 sagar
    • iww2021/02/09 iww
    • honeybe2021/01/27 honeybe
    • uzulla2021/01/25 uzulla
    • tmatsuu2021/01/24 tmatsuu
    • Guro2021/01/22 Guro
    • zu22021/01/22 zu2
    • shishido-cpa2021/01/20 shishido-cpa
    • kazuki2232021/01/20 kazuki223
    • linusvp2021/01/19 linusvp
    • iyoo142021/01/19 iyoo14
    • xyzpda2021/01/19 xyzpda
    • NFD2021/01/19 NFD
    すべてのユーザーの
    詳細を表示します

    同じサイトの新着

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

    いま人気の記事

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

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

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

    新着記事 - テクノロジー

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

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