バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 商品管理で商品コード検索不可

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
north
投稿日時: 2011/9/25 23:29
対応状況: −−−
半人前
登録日: 2011/9/11
居住地:
投稿: 20
商品管理で商品コード検索不可
お世話になっております。

ec-cube2.11を利用しています。

3000アイテムの商品を登録しています。
管理者ページ、商品マスタで商品コード検索すると、
ずっと検索中のまま、
全く検索できません。

皆様の知見をお貸しください。
どうぞよろしくお願いします。
yuse
投稿日時: 2011/9/26 11:00
対応状況: −−−
一人前
登録日: 2011/2/13
居住地:
投稿: 76
Re: 商品管理で商品コード検索不可
こんにちわ。

たぶん、商品登録数による気がします。。
いくつか気づいたところです。

・使用しているDB(MySQL?)
・サーバーは自前のものorレンタルサーバー
・商品コードだけでなく他の検索条件でも遅いかどうか

あたりも記載されると、みなさん回答がしやすくなると思います。

ちなみに、商品コードの場合、SQL的に、in句問合せがあるので、ここ一帯をexistsで書き換えてやると少し早くなる可能性があります。
north
投稿日時: 2011/9/26 18:19
対応状況: −−−
半人前
登録日: 2011/9/11
居住地:
投稿: 20
Re: 商品管理で商品コード検索不可
yuseさん

ご返事ありがとうございました。

・DBはMySQLです。
・登録商品数は約3000アイテム。
・アイルのレンタルを使っています。
・商品コードのみ検索はめちゃくちゃ遅い。

LC_Page_Admin_Products商品管理ページクラスのソースを確認したところ

商品名検索は $where .= " AND name LIKE ?";
商品ID検索は $where .= " AND product_id = ?";

商品コードはdtb_products商品テーブルにないので
$where .= " AND product_id IN (SELECT product_id FROM dtb_products_class WHERE product_code ILIKE ? GROUP BY product_id)";

上記のSQL文は検索遅い原因となりますか?

どうぞよろしくお願いします。
yuse
投稿日時: 2011/9/26 19:00
対応状況: −−−
一人前
登録日: 2011/2/13
居住地:
投稿: 76
Re: 商品管理で商品コード検索不可
どうもー

レンタルサバだと、サーバーの設定チューニングは難しそうなので、
まずはSQLを疑ってみるのがよいかもしれません。

「商品コードのみ」ということは、in句が遅くしている可能性があります。ちなみにステータスやカテゴリの条件も同様に遅いと思います。
likeを使っているので、インデックスを張っても効果がないので、
まずはin句をexists句に書き換えるあたりでしょうか。

289行目あたりを、

 AND exists (SELECT * FROM dtb_products_class WHERE  product_code LIKE ? and dtb_products.product_id = dtb_products_class.product_id GROUP BY product_id )


ただネックなのは、ここの処理は件数とデータ取得の2回に分けて
SQLを発行しており、その時に若干SQLが違うので、それごとにdtb_productsの接頭句を分けてやる必要があります。

件数   : dtb_products
データ取得: alldtl

・・うまいことやれればよいのですが。

まずは、existsに置き換えたもの単体でSQLを発行してみて、本当に早くなったかどうか確認してみてください。
tao_s
投稿日時: 2011/9/26 23:34
対応状況: −−−
仙人
登録日: 2008/8/20
居住地: 東京
投稿: 793
Re: 商品管理で商品コード検索不可
1回SQL走らせちゃった方が早いかもしれません。

先に
SELECT product_id FROM dtb_products_class WHERE product_code ILIKE ? GROUP BY product_id
をやって、その値を配列にして
AND product_id IN (?)
とかでやった方が早いかもしれません


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

north
投稿日時: 2011/9/27 10:46
対応状況: −−−
半人前
登録日: 2011/9/11
居住地:
投稿: 20
Re: 商品管理で商品コード検索不可
yuseさん

ご返事ありがとうございました。

289行目あたりに以下のソースを入り変えてシステムエラーが発生しました。
AND exists (SELECT * FROM dtb_products_class WHERE  product_code LIKE ? and dtb_products.product_id = dtb_products_class.product_id GROUP BY product_id )

原因はdtb_products.product_id = dtb_products_class.product_idでしょうか?product_idは検索対象なのにイコール条件になりません。

自分は以下の方法で商品コード検索不具合を解決しました。

dtb_products "商品情報テーブル"の
comment3 検索キーワードを利用し
comment3 検索キーワードは"商品コード,商品名"で登録しているから、
289行目あたりを、
$where .= " AND comment3 LIKE ?";
に入り変えれば検索は非常に早くなった。

ありがとうございました。
north
投稿日時: 2011/9/27 10:52
対応状況: −−−
半人前
登録日: 2011/9/11
居住地:
投稿: 20
Re: 商品管理で商品コード検索不可
tao_sさん

ご返事ありがとうございました。
自分はSQLに詳しくないので
先にSQL走らせる方法は分かりません。

自分は以下の方法で試して商品コード検索は検索は非常に早くなった。
dtb_products "商品情報テーブル"の
comment3 検索キーワードを利用し
comment3 検索キーワードは"商品コード,商品名"で登録しているから、

289行目あたりを、
$where .= " AND comment3 LIKE ?";

上記の実装方法に問題があれば
是非ご指摘をお願いします。

ありがとうございました。
neosoft
投稿日時: 2011/9/27 12:35
対応状況: −−−
新米
登録日: 2010/12/16
居住地: 東京都
投稿: 8
Re: 商品管理で商品コード検索不可
そうですね。
EC-CUBEは、商品が500件とかなるとかなり遅くなります。
DBがpostgresだといいらしいです。
mysqlだとカスタマイズが必要です。

postgresSQLをお勧めいたします。


----------------
----------------------------------------------
・EC-CUBEをカスタマイズするハチ:http://ec-cube.cof.jp
EC-CUBE2.11対応テンプレートやカスタマイズブロックダウンロード販売
・イメージ素材ダウンロードサ

shutta
投稿日時: 2012/4/13 18:57
対応状況: −−−
仙人
登録日: 2010/2/4
居住地: 関西
投稿: 835
Re: 商品管理で商品コード検索不可
引用:

northさんは書きました:
お世話になっております。

ec-cube2.11を利用しています。

3000アイテムの商品を登録しています。
管理者ページ、商品マスタで商品コード検索すると、
ずっと検索中のまま、
全く検索できません。


古いスレッドを掘り起こしてすみません。

こちらでも同様の症状が発現しましたので、ソースを調査して修正してみました。

修正内容等は、下記をご覧ください。

商品管理> 商品コードで検索すると遅い(MySQL)
http://svn.ec-cube.net/open_trac/ticket/1749

チェンジセット 21740
http://svn.ec-cube.net/open_trac/changeset/21740


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

リゾート会員権(エクシブ等)の売買・仲介

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


 



ログイン


EC-CUBEペイメント

公式ストアEC-CUBE4系デザインテンプレート続々リリース中

統計情報

総メンバー数は73,348名です
総投稿数は102,428件です

投稿数ランキング

1
seasoft
7333
2
468
3107
3
AMUAMU
2712
4
nanasess
2187
5
umebius
2034
6
yuh
1614
7
red
1454
8
h_tanaka
1125
9
tsuji
936
10
fukap
907
11
shutta
835
12
tao_s
793
13 ramrun 789
14 karin 689
15 sumida 641
16
homan
633
17 DELIGHT 572
18
patapata
502
19
flealog
485
20 tonton 437


ネットショップの壺

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

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