Laboratory of Mobile Agricultural Chemicals Searcher
携帯農薬検索実験室

研究会

  ツリー表示 ┃スレッド表示 ┃一覧表示 ┃トピック表示 ┃番号順表示 ┃検索  
48 / 114 ツリー <前へ | 次へ>

〔623〕070326test版 kabe (07/03/27 0:01)

〔631〕Re:070327test版 Hidemi Oya (07/03/28 0:44)
〔632〕Re:070327test版 Hidemi Oya (07/03/28 1:00)
〔633〕Re:070327test版 Hidemi Oya (07/03/28 1:56)
〔635〕070328test版 kabe (07/03/28 22:31)
〔637〕Re:070328test版 Hidemi Oya (07/03/28 22:57)

〔631〕Re:070327test版
 Hidemi Oya WEB  (07/03/28 0:44)

引用なし
   kabe さん、こん**は。Hidemi Oya です。

>[#625]の方法で作物タブでの作物名検索方法を見直しました。
 データベース更新時間が、自宅マシンで約 29 秒だったのが約 35 秒と約 20 %増でした。[#267] の事例も考えると、マシンにはよるけど 20〜30 %増というところでしょうか…。070311 版で速度アップした分に、おまけを付けて遅くなってしまいました(^_^;)。
 自宅マシンの 35 秒は十分許容範囲ですが、事務所マシンだとちょっとつらいかも…。

 070327test 22:25 版の「ブロッコリー,あぶらな科野菜,野菜類」検索のログを SQL タブにコピーして実行すると、適用の表示が完了するまでにわずか 0.8 秒。体感的には、以前の爆速レベルに戻ったといえます。近接作物を指定しても、十分満足できる速度です。

 ただ、できればデータベース更新速度は落としたくないところ。テーブルを作り替えるのではなく、idsaku を m_sakumotsu から JOIN したビューならどうかなと思って、tekiyo の a.idsaku AS idsaku を m_sakumotsu.idsaku AS idsaku に変更して、最後に
LEFT JOIN m_sakumotsu ON a.sakumotsu = m_sakumotsu.sakumotsu
を追加した tekiyo2 を作って試してみましたが、残念ながら [#621] より遅かったりします(^_^;)。
 UPDATE を使わずに、m_kihon を作る段階で作物コードを付与できる良い方法があればねえ…。m_kihon の定義段階で idsaku を作っておき、m_sakumotsu 作成後に、REPLACE INTO で idsaku に作物コードを設定すれば、UPDATE より速いかなあ?

〔632〕Re:070327test版
 Hidemi Oya WEB  (07/03/28 1:00)

引用なし
   >m_kihon の定義段階で idsaku を作っておき、m_sakumotsu 作成後に、REPLACE INTO で idsaku に作物コードを設定すれば、UPDATE より速いかなあ?
 UPDATE をするのに、当然 idsaku は最初から作ってありますね。で、REPLACE INTO は行単位でしか書き換えられないので、UPDATE の方が速そうです。
 しかし、なんで UPDATE はこんなに遅いのか…。

〔633〕Re:070327test版
 Hidemi Oya WEB  (07/03/28 1:56)

引用なし
   > しかし、なんで UPDATE はこんなに遅いのか…。
 自宅マシンで UPDATE にかかる時間は 8.2 秒でした。で、下記のような方法で作物コードを付加したテーブルを作った場合は、4.0 秒です。
 ってことは、従来の m_tekiyo をテンポラリテーブルとして作成して、そこから m_sakumotsu を生成、テンポラリ m_tekiyo と m_sakumotsu を JOIN してパーマネント m_sakumotsu を作成すれば、UPDATE の半分の時間で同じテーブルが作れることになります。

CREATE TABLE m_tekiyo2 AS
SELECT ..., m_sakumotsu.idsaku AS sakuid FROM m_tekiyo
LEFT JOIN m_sakumotsu ON m_tekiyo.sakumotsu = m_sakumotsu.sakumotsu

〔635〕070328test版
 kabe  (07/03/28 22:31)

引用なし
   kabe です。

070328test版です。
exeのみです。
http://acfinder.kabe.info/acfinder070328test.zip

> ってことは、従来の m_tekiyo をテンポラリテーブルとして作成して、そこから m_sakumotsu を生成、テンポラリ m_tekiyo と m_sakumotsu を JOIN してパーマネント m_sakumotsu を作成すれば、UPDATE の半分の時間で同じテーブルが作れることになります。
この方法でデータ更新を行ってみました。
若干、データ更新時間が短くなります。

[#612]SQLタブのクエリ埋め込み開発者モードに対応しました。

〔637〕Re:070328test版
 Hidemi Oya WEB  (07/03/28 22:57)

引用なし
   kabe さん、こん**は。Hidemi Oya です。

>若干、データ更新時間が短くなります。
 自宅マシンではデータベース更新が 30 秒で、以前とあまり変わらないほどに改善しました。テンポラリ m_tekiyo 作成時に完全にメモリ内で処理可能か、あるいはスワップが発生するか、メモリ搭載容量によって効果の度合いが違うのかもしれません。

>[#612]SQLタブのクエリ埋め込み開発者モードに対応しました。
 ありがとうございます。--/d 対応の複数作物系テンプレートと、m_sakumotsu 対応の特定作物系テンプレートを近々公開したいと思います。

  ツリー表示 ┃スレッド表示 ┃一覧表示 ┃トピック表示 ┃番号順表示 ┃検索  
48 / 114 ツリー <前へ | 次へ>
ページ:  ┃  記事番号:   
(SS)C-BOARD vv3.8 is Free.