プラグイン > その他 > ビューとクエリーはどちらが速いのか? |
その他
スレッド表示 | 古いものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
chappy |
投稿日時: 2017/3/15 11:41
対応状況: −−−
|
一人前 登録日: 2011/7/19 居住地: 投稿: 87 |
Re: ビューとクエリーはどちらが速いのか? yuhさん
EXPLAINは、今まで使用したことがありませんでした。 早速使って調べています。 LIMITの部分も納得です。 勉強になりました。 本当にありがとうございます。 |
yuh |
投稿日時: 2017/3/14 1:02
対応状況: −−−
|
神 登録日: 2013/1/9 居住地: 大阪 投稿: 1819 |
Re: ビューとクエリーはどちらが速いのか? EXPLAINで調べていくのがいいと思います。
MYSQLの場合は複合INDEXもそうですが、 JOINする場合に SELECT * FROM (SELECT * FROM tableA ORDER BY id asc LIMIT 10) a INNER JOIN tableB b ON(a.id = b.id) とかFROMの部分でのLIMITなど行うとJOINのコストが下がり速くなります。 色々速くする方法はあるので、調べてみてください。
|
chappy |
投稿日時: 2017/3/13 19:45
対応状況: −−−
|
一人前 登録日: 2011/7/19 居住地: 投稿: 87 |
Re: ビューとクエリーはどちらが速いのか? tao_sさん
redさん ・MySQLは複合キーの方が早い ・テキストでもインデックスが張れる 有益な情報ありがとうございます。 早速、ちょこちょこインデックスを張っていますが、速くなってきたように思います。 どこで、速度を測定するのが正解なのかも分かっていませんが・・。 教えて頂いてありがとうございました。 |
tao_s |
投稿日時: 2017/3/13 6:21
対応状況: −−−
|
仙人 登録日: 2008/8/20 居住地: 東京 投稿: 799 |
Re: ビューとクエリーはどちらが速いのか? あ、ホントだ。いつの間に...
でもjoinとかサブクエリだとやっぱ遅くなる要因みたいですね...
|
red |
投稿日時: 2017/3/11 8:21
対応状況: −−−
|
神 登録日: 2010/2/15 居住地: 東京都 投稿: 1569 |
Re: ビューとクエリーはどちらが速いのか? 一応貼れますよ
http://qiita.com/mizuki_takahashi/items/52bc426307817123305e
|
tao_s |
投稿日時: 2017/3/11 5:37
対応状況: −−−
|
仙人 登録日: 2008/8/20 居住地: 東京 投稿: 799 |
Re: ビューとクエリーはどちらが速いのか? 最新のバージョンでは試していませんが、MySQLは複合キーの方が早かったりとインデックスの張り方に少しクセがあります。
あと、EC-CUBEのデフォルトでは、文字列カラムの型がぜんぶtextになっちゃってるので、これだとインデックス張れなくて遅いです。 もし、標準のテーブルとリレーションする様なクエリを発行しているのであれば、結合キーがtext型のカラムになってないか確認してみてください
|
chappy |
投稿日時: 2017/3/10 18:30
対応状況: −−−
|
一人前 登録日: 2011/7/19 居住地: 投稿: 87 |
Re: ビューとクエリーはどちらが速いのか? tao_sさん
ありがとうございます。 今まさに、教えて頂いたブログを検索して読んでいたところでした! お客さんの要望で、新たに追加したテーブルがあったり、カテゴリでのランキングを作ったりとSELECT文がとてもややこしいです。 ですから、私としてはVIEWを使用したかったのですが・・。 >テーブル構造とインデックスをちゃんと使う様にするのが一番です。 とりあえず、まずはこちらを確認したいと思います。
|
tao_s |
投稿日時: 2017/3/10 18:06
対応状況: −−−
|
仙人 登録日: 2008/8/20 居住地: 東京 投稿: 799 |
Re: ビューとクエリーはどちらが速いのか? MySQLでサブクエリを使ってる場合は、viewにした方が早くなったりします。
2系の時にやったヤツ EC-CUBEをチューニング - MySQL:MySQLでもviewを使って8倍速にするカスタマイズ!! ただ、3系であればほぼview作る意味は無いかなぁと思います。 他の方がおっしゃる通り、テーブル構造とインデックスをちゃんと使う様にするのが一番です。
|
chappy |
投稿日時: 2017/3/10 17:33
対応状況: −−−
|
一人前 登録日: 2011/7/19 居住地: 投稿: 87 |
Re: ビューとクエリーはどちらが速いのか? ありがとうございます。
aoki.uさん 手動でDBにビューを作り使用しています。 redさん 恥ずかしながら、マテリアライズドビューという単語を初めて知りました。 勉強になりました。ありがとうございます。 yuhさん >正直ちゃんとINDEX考えてクエリ組んだり、集計結果の一部を中間テーブルに持って使うとかの方が速いとは思います。 結局INDEXを考えてクエリを組むことの方が、重要そうですね。そちらの面で見直しを図ってみます。 yuhさんのec-cube2系の速度UPですが、本当に速いですね。商品数が多いのに、驚きました。 これもINDEXや中間テーブルの賜物なのでしょうか?? |
yuh |
投稿日時: 2017/3/9 22:07
対応状況: −−−
|
神 登録日: 2013/1/9 居住地: 大阪 投稿: 1819 |
Re: ビューとクエリーはどちらが速いのか? VIEWにしてあんまり速度周り期待しない方がいいかと思います。
正直ちゃんとINDEX考えてクエリ組んだり、集計結果の一部を中間テーブルに持って使うとかの方が速いとは思います。 PostgresqlであればMaterializedView使うって方法もありますが、MYSQLには無いので仮想的にトリガーで何とかするとかですかね。
|
(1) 2 » |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | トップ |