バージョン選択

フォーラム

メニュー

オンライン状況

41 人のユーザが現在オンラインです。 (32 人のユーザが フォーラム を参照しています。)
登録ユーザ: 1
ゲスト: 40
gordon974 もっと...

サイト内検索

プラグイン > その他 > ビューとクエリーはどちらが速いのか?

その他

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
chappy
投稿日時: 2017/3/9 19:13
対応状況: −−−
一人前
登録日: 2011/7/19
居住地:
投稿: 87
ビューとクエリーはどちらが速いのか?
プラグインを作成しています。

データベースにビューを予め作って、そこからデータを抽出していますが、速度が遅くなっています。

そこで、少しでも速くする方法を検討しています。

もしかして、その都度クエリーでデータを抽出した方が、予め作ったビューから抽出するよりも早いのでしょうか??

ご存じの方、ご意見いただけるとありがたいです。

▼テンプレート
[EC-CUBE] 3.0.10
[レンタルサーバ] ロリポップ
[OS] windows8.1
[PHP] 5.5(7.1にアップグレードする予定あり)
[データベース] mysql 5.6


----------------

aoki.u
投稿日時: 2017/3/9 19:19
対応状況: −−−
常連
登録日: 2017/2/19
居住地:
投稿: 53
Re: ビューとクエリーはどちらが速いのか?
ビューを予め作るというのが、どういうことをやっているのかイメージしづらいので、DBにビューを保存するところと取り出すところのコードのサンプル出していただくことってできますか?


----------------
ECCUBE3系のインテグレートパートナーとして
カスタマイズやプラグイン開発に専念しています。
ぜひご相談ください。

red
投稿日時: 2017/3/9 19:53
対応状況: −−−
登録日: 2010/2/15
居住地: 東京都
投稿: 1568
Re: ビューとクエリーはどちらが速いのか?
mysqlのビューはマテリアライズドビューではないので、クエリが遅ければ遅いです


----------------
EC-CUBEのカスタマイズ、トラブル解決承ります
お気軽にお問い合わせ下さい
https://www.ec-cube.net/integrate/partner/partner.php?partner_id=690

yuh
投稿日時: 2017/3/9 22:07
対応状況: −−−
登録日: 2013/1/9
居住地: 大阪
投稿: 1818
Re: ビューとクエリーはどちらが速いのか?
VIEWにしてあんまり速度周り期待しない方がいいかと思います。
正直ちゃんとINDEX考えてクエリ組んだり、集計結果の一部を中間テーブルに持って使うとかの方が速いとは思います。
PostgresqlであればMaterializedView使うって方法もありますが、MYSQLには無いので仮想的にトリガーで何とかするとかですかね。


----------------


http://ec-lab.net/

chappy
投稿日時: 2017/3/10 17:33
対応状況: −−−
一人前
登録日: 2011/7/19
居住地:
投稿: 87
Re: ビューとクエリーはどちらが速いのか?
ありがとうございます。

aoki.uさん

手動でDBにビューを作り使用しています。


redさん

恥ずかしながら、マテリアライズドビューという単語を初めて知りました。
勉強になりました。ありがとうございます。


yuhさん

>正直ちゃんとINDEX考えてクエリ組んだり、集計結果の一部を中間テーブルに持って使うとかの方が速いとは思います。

結局INDEXを考えてクエリを組むことの方が、重要そうですね。そちらの面で見直しを図ってみます。
yuhさんのec-cube2系の速度UPですが、本当に速いですね。商品数が多いのに、驚きました。
これもINDEXや中間テーブルの賜物なのでしょうか??
tao_s
投稿日時: 2017/3/10 18:06
対応状況: −−−
仙人
登録日: 2008/8/20
居住地: 東京
投稿: 796
Re: ビューとクエリーはどちらが速いのか?
MySQLでサブクエリを使ってる場合は、viewにした方が早くなったりします。
2系の時にやったヤツ
EC-CUBEをチューニング - MySQL:MySQLでもviewを使って8倍速にするカスタマイズ!!

ただ、3系であればほぼview作る意味は無いかなぁと思います。
他の方がおっしゃる通り、テーブル構造とインデックスをちゃんと使う様にするのが一番です。


----------------
EC-CUBEカスタマイズ相談してください。
緊急のEC-CUBEの障害対応
EC-CUBEカスタマイズブログ

chappy
投稿日時: 2017/3/10 18:30
対応状況: −−−
一人前
登録日: 2011/7/19
居住地:
投稿: 87
Re: ビューとクエリーはどちらが速いのか?
tao_sさん

ありがとうございます。

今まさに、教えて頂いたブログを検索して読んでいたところでした!

お客さんの要望で、新たに追加したテーブルがあったり、カテゴリでのランキングを作ったりとSELECT文がとてもややこしいです。
ですから、私としてはVIEWを使用したかったのですが・・。

>テーブル構造とインデックスをちゃんと使う様にするのが一番です。

とりあえず、まずはこちらを確認したいと思います。


----------------

tao_s
投稿日時: 2017/3/11 5:37
対応状況: −−−
仙人
登録日: 2008/8/20
居住地: 東京
投稿: 796
Re: ビューとクエリーはどちらが速いのか?
最新のバージョンでは試していませんが、MySQLは複合キーの方が早かったりとインデックスの張り方に少しクセがあります。

あと、EC-CUBEのデフォルトでは、文字列カラムの型がぜんぶtextになっちゃってるので、これだとインデックス張れなくて遅いです。
もし、標準のテーブルとリレーションする様なクエリを発行しているのであれば、結合キーがtext型のカラムになってないか確認してみてください


----------------
EC-CUBEカスタマイズ相談してください。
緊急のEC-CUBEの障害対応
EC-CUBEカスタマイズブログ

red
投稿日時: 2017/3/11 8:21
対応状況: −−−
登録日: 2010/2/15
居住地: 東京都
投稿: 1568
Re: ビューとクエリーはどちらが速いのか?
一応貼れますよ
http://qiita.com/mizuki_takahashi/items/52bc426307817123305e


----------------
EC-CUBEのカスタマイズ、トラブル解決承ります
お気軽にお問い合わせ下さい
https://www.ec-cube.net/integrate/partner/partner.php?partner_id=690

tao_s
投稿日時: 2017/3/13 6:21
対応状況: −−−
仙人
登録日: 2008/8/20
居住地: 東京
投稿: 796
Re: ビューとクエリーはどちらが速いのか?
あ、ホントだ。いつの間に...
でもjoinとかサブクエリだとやっぱ遅くなる要因みたいですね...


----------------
EC-CUBEカスタマイズ相談してください。
緊急のEC-CUBEの障害対応
EC-CUBEカスタマイズブログ

(1) 2 »
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,290名です
総投稿数は109,689件です

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1568
9
mcontact
1240
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
796
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.