ストアドよりインデックスのほうが速いよ

レス数: 185

概要: かなりショック
No.151
かなりショック
No.152
手持ちのDB2だとINDEX使って少しでも実行コスト下げる努力してるけど。
RDBMSによって動作は違うとオモ
No.153
パフォーマンスあげるために両方やっとけばいいんじゃね?
で終わりだろ
No.154
>>1
の上司が、
「もういいよ。オレがインデックス張ってやるから、まあ見てから言えよ。な?」
と言ってるんだから、
「そうですか、じゃあ、お願いします。」と進言して放置。
少ししてから、ニヤニヤしながら、
「どうでしたか?速くなりました?」と聞きに行くのが正解。
No.155
インデックスの無い検索をループで繰り返すストアドは遅い。
インデックスの知識が無いやつがストアド書くなって思う。
あと数値を集計して表示の加工する際に同じことができる場合なら
たいていJOINよりUNION ALLの方が速い。これも理由はインデックス。
No.156
そんな単純な話じゃねーよw
インデックスは付けたって使われるとは限らない。
使われないインデックスは、データの無駄でしかない。
また、インデックスを使ったからといって早くなるとは限らない。
どういうときにインデックスが使われて、効果があるかを熟知した上で、
インデックスがちゃんと使われるような、SQL(ストアド含む)を書く。
SQL(ストアド)ってのは迷路のようなものだよ。
普通に進めば長く時間がかかる。インデックスは、その迷路に
壁を一つか二つかあけることができる。どこに壁をあけ、どういうルートを通るか
全体を見て考えないといけない。
SQLとストアドもな。クライアントとサーバーのどちらでどういう処理が動いて
どれだけのデータが転送されるかってのを考えないと、どちらが速いかなんて答えは出ない。
No.157
迷路ってほど難解でもないと思うが。
つか、普通に考えればストアドとインデックスとどっちか速いかなんて
無意味な議論しないとオモ
No.158
煙突とダイヤモンドでどちらが高いかという命題に近いな
No.159
データの分布が変わったらインデックスが有効じゃなくなるとかあるだろ。
常に正しい答えなんてねーよ。
No.160
, -‐ ' ´ ̄ ̄ `ヽ、
                /            ` ー- 、
              /                  }
             /                 __,. ‐ヘ
            /         f__,  -‐ ' ´:.:.:.:.:.:.:.:.:|
            /         !:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:}
            |         i::.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:, <\
            |         |:.:.:.:.__ ,::  -‐: !「/`i:.!ヽ>
            |         √: : : ::ィ! ⌒iハ: :リ xぇv!:!: }
            |        イ: : : : :/レ斗z- V トリ /リV
            |        イイ: :.イ/ / んハ    ヒ! {
           ∧       i |イ: | ヽ v少     '  ! ストアドよりインデックスの方が
           /        ムヘ: : |  、、    __,.  人  速いんだよ
          /   /    /: ハ !: |、   「  ノ, イ  !
            |_ /      /: !: | |: :!、 > 、  ィ! :.|  / ____
         /        /: :/!: トヘ: '! ̄.ソ介トヽ: :|// / / \
         /        /: //:ノ:::::|: !ニ ノ|::|C}|: :| (つ i / ,ノ
          /        /:: 彡へ::::::|: |:::\イ::フ^|: :|  `7'ー-イ    〜 ♪
       /       /:.∠   /〇}: |<:::>イ::! !: |.√〈   ,ハ
      /      イ:.:∠二二.メ、 / |: |`''く:::::|\! |: |::|  \/ !   /)
     /      / |://   厶ノ  |: |  ∨_ハ.|: !∧   \|  //
    /       !  |:/    む'   |: |   \_ソ|: |:::::\   |∠∠ 、
   /          |  、      |:リ    |:::!::::| :|\:::::\/ ー-- }
  /           |   \    从    |::::!:::!从  >r'   、 ヽ.ノ
  ∧           ト、     ー―へ    |::/リ  /::| |   rくソ
 /::::\            | ヽ        ヽ /:/  /::::::::| |ー‐' |
 \::::::::\        |  |         レ'⌒ ̄ |:::::::::| |   !
No.161
drop index に罪悪感を感じるようになるとは思わなかった
No.162
>>156

どっかのITコンサルを名乗る連中みたいな発言だな。たとえ話や抽象論だけで、
要は何をすればいいのか結局現場まかせみたいな。
>インデックスは付けたって使われるとは限らない。
インデックスって、使う/使わないの二択しかないんだから当たり前の話。
>使われないインデックスは、データの無駄でしかない。
正論です。とはいえ、インデックス容量をケチるほどかつかつのハードウェア
設計も珍しいですが。
>また、インデックスを使ったからといって早くなるとは限らない。
これまた正論。帳票など大量のレコードを結合するときは、インデックスを
使うよりもハッシュジョインのほうが早いですからね。
>どういうときにインデックスが使われて、効果があるかを熟知した上で、
>インデックスがちゃんと使われるような、SQL(ストアド含む)を書く。
こういう部分がプログラマの腕の見せ所でもあるんだろうが、実際はそんな
優秀な人間ばっか集めれるわけじゃあるまいし。びっくりするぐらい雑な
SQLを書くベテランが大勢いるのが現実なわけで。
>SQL(ストアド)ってのは迷路のようなものだよ。
>普通に進めば長く時間がかかる。インデックスは、その迷路に
>壁を一つか二つかあけることができる。どこに壁をあけ、どういうルートを通るか
>全体を見て考えないといけない。
わかったような、わからないような、見事に煙に巻く美文だな。
翻訳すると、「SQLで全件検索すると遅いから、インデックスというミニ
テーブルを参照してデータを検索する機能を使うと、あたかも本の目次を
見て目的のページを開くかのごとく素早く検索できます」ということ?
>SQLとストアドもな。クライアントとサーバーのどちらでどういう処理が動いて
>どれだけのデータが転送されるかってのを考えないと、どちらが速いかなんて答えは出ない。
能書きはいいから両方速くしてください、でFA?
>>154

似たようなことをやった記憶がある。SQLの話じゃないけどね。
で、予想どおりトンチンカンなものが出来上がってた。
さらに恐ろしいのは、それが成果物として存在感を出して、後続作業はこれと
矛盾しないようにしなければいけないという制約ができたこと。
No.163
>>156

>使われないインデックスは、データの無駄でしかない
>>162

>正論です。とはいえ、インデックス容量をケチるほどかつかつのハードウェア
>設計も珍しいですが。
容量よりも更新コストを気にするだろ、普通・・・
No.164
集合操作をまったく理解していない
コボラーが書いたような無駄に長いストアドは勘弁してほしいな。
No.165
SQLを書いてからインデックスを張れば無問題。
いまどきオプティマイザがどこにインデックス張ればいいのか教えてくれる。
No.166
>>165

>SQLを書いてからインデックスを張れば無問題。
SQLを書く前の、テーブル設計する時点でどこにインデックスが必要か考えとくもんだろ?
ついでに言えば、インデックスを張ると更新が遅くなることは知ってるよな?
>いまどきオプティマイザがどこにインデックス張ればいいのか教えてくれる。
最近のオプティマイザは賢くなって最適な実行計画をたてるらしいが、それでも
インデックスをどこに張るかアドバイスまでしてくれるのは初耳だな。
ちなみに、オプティマイザって何をする機能なのかは知ってるよな?
No.167
なんかagaってたから見てみれば...
>>166
の言う通りではあるな。
>>165
みたいな見解が蔓延るから性能問題が後を絶たない。
>>162
も一年前のレス触るなよ
No.168
そもそもストアドもインデックスも必要だから存在するんだよ。
正しくテーブル設計した上で、両方とも適切に使わないと、
実用的なシステムは作れない。
No.169
すれ違いで申し訳ありませんが、
主キーとインデックスは、全く同じ状況で全く同じ項目に張られている場合(かつ、主キーもしくはインデックスのみの指定で検索された場合)
どちらが早いのでしょうか。
お分かりになられる方が居られましたらご教授よろしくお願いいたします。
No.170
それはDBに依存するな
No.171
>>169

>すれ違いで申し訳ありませんが
低姿勢なら何やっても許されるとでも思ってんのか、この間抜けは。
No.172
>>169

スレ違いドアホ
>>171

プッツンバカ亀
終了
No.173
岡田外務大臣キタ━━━━━━(゚∀゚)━━━━━━ !!!!!
h‍ttp‍:‍/‍/‍q‍b5.2‍ch.net/t‍est/rea‍d.cgi‍/sak‍u2ch/1256‍630318/1
早く記念カキコしないと埋まっちゃうwww
No.174
初心者なのでよくわからないのですが、ストアドでインデックス使ったらいいんじゃないの???
No.175
一度やらせてみてください!
No.176
昨今ストアドを使う意味は、どっちかっていうとセキュロティ強化だろ。
No.177
セキュロティw
>>174

>>11
No.178
>>169

>すれ違いで申し訳ありませんが、
>主キーとインデックスは、全く同じ状況で全く同じ項目に張られている場合(かつ、主キーもしくはインデックスのみの指定で検索された場合)
>どちらが早いのでしょうか。
>お分かりになられる方が居られましたらご教授よろしくお願いいたします。
主キーとインデックスが「全く同じ状況で」全く同じ項目に張られている場合、ということを具体的に説明してください。
主キーとは論理的な概念でインデックスとは通常物理的な概念です。なので比較はできません。
主キーインデックスと主キーでないインデックスが同じ状況で張られるという事を、すなわち「主キーの代わりに一意キーを張る」ということを意味している事と解釈すると、主キーの方が速いです。
(そうでない実装があったら教えてください。)
但し、その場合、全く同じ状況ではありません。理由は上に書いた通りです。(実装が異なります)
No.179
ストアドって何よ?
No.180
保守
No.181
プラズマで解決
No.182
誰でも簡単にパソコン1台で稼げる方法など
参考までに、
⇒ 『宮本のゴウリエセレレ』 というブログで見ることができるらしいです。
グーグル検索⇒『宮本のゴウリエセレレ』
HG3O2RUU4Z
No.183
☆ 日本の、改憲をしましょう。現在、衆議員と参議院の両院で、
改憲議員が3分の2を超えております。『憲法改正国民投票法』、
でググってみてください。国会の発議はすでに可能です。
平和は勝ち取るものです。お願い致します。☆☆
No.184
ムシャムシャしてやった、今ははんすうしている
No.185
ふー、ついてない日だな