バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > dtb_productsを分割した際のphpでの変更作業

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
zenta
投稿日時: 2018/4/11 17:38
対応状況: −−−
常連
登録日: 2016/10/18
居住地:
投稿: 59
dtb_productsを分割した際のphpでの変更作業
いつも大変お世話になっております。どうかご教示願います。

仕様上dtb_productsのカラム数が多くなり過ぎましたので、負荷軽減の為、mysqlでdtb_products_1、dtb_products_2の様に分割し、関連するLC_Page_Products_Detail.php、SC_Helper_DB.php、及びフロント系のphpなどでdb名を変更して試したところ、

dtb_products_1へ新たに作成したコンテンツ(データ挿入は成功)がフロントページでは問題なく表示されるものの、詳細ページを開こうとすると、開けません(エラーログにはdetail関連のエラーが記載されません)。

この様にdtb_productsを分割した場合、特に詳細ページ用にどのphpファイルを変更しなければならないのか、また、mysql上で必要になる作業などもしあれば、ご教示頂けませんでしょうか。

EC-CUBE 2.X系
(データベース) MySQL5.0.77
(WEBサーバ) apache2
(OS) Windows XP
(PHP) 5.0.22
yuh
投稿日時: 2018/4/12 13:40
対応状況: −−−
登録日: 2013/1/9
居住地: 大阪
投稿: 1818
Re: dtb_productsを分割した際のphpでの変更作業
レコード数ではなくカラム数ですか?
いまいちdtb_products_1やdtb_products_2で実装する必要がわかりませんが、SC_ProductのisValidProductId辺りに引っかかってるのだと思います。
SC_Productの中を結構入れ替える必要があり、他にも多々修正箇所が必要かと思いますので、その実装方法ではなく別の手法をとる方がいいかと思います。


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


http://ec-lab.net/

zenta
投稿日時: 2018/4/12 17:16
対応状況: −−−
常連
登録日: 2016/10/18
居住地:
投稿: 59
Re: dtb_productsを分割した際のphpでの変更作業
yuh様、

ご教示頂きまして感謝致します。

仰るとおり、カラム数の増加に伴い、それによって倍増されるデータ数による負荷軽減のためにと考えておりました。

そして、サイト自体を多言語化しようとしているため、dtb_products内に言語別に同じカラムが存在し(例:name_j、name_eの様に)dtb_productsをdtb_products_j、dtb_products_eの様に言語別に分けた方がメンテナンスの面でも良いのかと思い今回の質問でございます。(各dtb_products_x自体は言語の違いはありますが、構造的には同じもの)

この様な理由によるdtb_productsの分割の場合、yuh様の言われる別の手法でも適合いたしますでしょうか。その場合、その方法をご教示頂けませんでしょうか。
yuh
投稿日時: 2018/4/12 18:43
対応状況: −−−
登録日: 2013/1/9
居住地: 大阪
投稿: 1818
Re: dtb_productsを分割した際のphpでの変更作業
一応やる方法はあるんですが、おすすめはできません。
今のままでも特に負荷は上がらないとは思いますが、負荷が高い状態でしょうか?


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


http://ec-lab.net/

zenta
投稿日時: 2018/4/13 3:04
対応状況: −−−
常連
登録日: 2016/10/18
居住地:
投稿: 59
Re: dtb_productsを分割した際のphpでの変更作業
yuh様、

ご教示頂きまして感謝致します。

今後の使用言語数の増加に伴うdtb_productsへ追加するカラム数の増加、そしてサイトへのウェブユーザーのアクセス増加によって発生するサイトへの負荷等々を考慮し、サイト自体をできるだけ高速化したいと考えての取り組みであり、ご質問でございました。

ここでご教示頂きたいことは、今後継続的にカラム数を増加する(相当数を予定)、あるいはサイトへのアクセス数が増加すると想定した場合(こちらも様々な状況が考えられると思いますが)、

dtb_productsへのカラム数の増加はデフォルトの状態からどれ位まで許容される、つまりサイトスピード(サイト自体の重さ)に影響しないと考えて宜しいのでしょうか。
yuh
投稿日時: 2018/4/13 14:12
対応状況: −−−
登録日: 2013/1/9
居住地: 大阪
投稿: 1818
Re: dtb_productsを分割した際のphpでの変更作業
カラムが増える分にはそこまで影響は大きくないはずです。
ただ、あまりに増えるのであれば別の設計を行った方がいいとは思います。

どちらかというと、レコード数の増加や不必要なGROUPBYやJOIN周りで大きく速度が低下します。

現状の設計がどのようにやろうとしているのかがわからないのでなんともですが、dtb_products自体を複数持って処理を行うと、変にJOINやUNION等の処理が入るので高速化とは逆方向に向かっている感じはします。


MYSQLの場合
http://eccube.ec-lab.net/products/list.php?category_id=2
調整すればある程度のレコード数でもこのくらいまでは速度を上げられます。


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


http://ec-lab.net/

zenta
投稿日時: 2018/4/13 14:55
対応状況: −−−
常連
登録日: 2016/10/18
居住地:
投稿: 59
Re: dtb_productsを分割した際のphpでの変更作業
yuh様、

リンクのサイトは、そのレコード数にして、目を疑うほどのスピードなのですが、調整はどこでどのようになされているのでしょうか。

何とかご教授願います。

また、言語数をかなり増やした際にとるべき、別の設計とはどのようなものかアドバイスをお願い頂けませんでしょうか。

(dtb_productsの分割は止めにいたします。ご教示感謝いたします。)
yuh
投稿日時: 2018/4/13 16:32
対応状況: −−−
登録日: 2013/1/9
居住地: 大阪
投稿: 1818
Re: dtb_productsを分割した際のphpでの変更作業
元々EC-CUBE2系のクエリ自体あまりINDEXを効かせてクエリを発行していないので、ちゃんとINDEXを使用するようにクエリを組み替えたり、MYSQL独自の速度改善の手法で組んでいます。

PostgresqlはPostgresql用に調整ができます。

設計と言われても、どのような仕様かがはっきりしないため何とも言えないですが、インテグレートパートナーの会社様にご依頼された方がよろしいかと思います。


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


http://ec-lab.net/

zenta
投稿日時: 2018/4/13 21:45
対応状況: 解決済
常連
登録日: 2016/10/18
居住地:
投稿: 59
Re: dtb_productsを分割した際のphpでの変更作業
yuh様

ご多忙の中、ご教授、そして指針を示して頂き感謝致します。
それでは可能な限りいろいろと取り組んで参ろうと存じます。

ありがとうございます。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

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.