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

研究会

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

〔474〕ACFinder 060831版 kabe (06/08/31 22:58)

〔479〕vTsushoTekiyo Hidemi Oya (06/09/02 11:58)

〔479〕vTsushoTekiyo
 Hidemi Oya WEB  (06/09/02 11:58)

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

>明日もう少し詰めてみます。
 試してみたら、従来のビューでも新しいビューでも速度は変わりませんでした。先日確認したときに速かったのは、[#470] のビューなので、DISTINCT を付け忘れてたからというのが真相のようです(^_^;)。

 で、vTsushoTekiyo をビューではなく CREATE TEMP TABLE で一時テーブルとして作成すると(SQLite.pas では標準状態だと一時テーブルはメモリ上に作成)、最初にテーブル作成に若干時間はかかりますが、検索速度は上がりますね。
 検索開始から表示完了までの時間は、私の環境では下記の通りです。(2) のような複雑なクエリには大きな効果がありますが、集約関数を使う場合は vTsushoTekiyo では同通称異適用に対応できないので、定型処理で使うことはないでしょう。作物タブや病害虫タブでは体感できるほどの効果は期待できないので、vTekiyo, vTsushoTekiyo を一時テーブルにする意味はあまりなあそうです。

一時テーブル作成 3.8 秒

(1) の実行
ビュー: 1回目 1.2 秒、2回目以降 0.9 秒
テーブル: 1回目 0.9 秒、2回目以降 0.6 秒

(2) の実行
ビュー: 1回目 3.9 秒、2回目以降 3.7 秒
テーブル: 1回目 0.2 秒、2回目以降 0.2 秒

(1) SELECT * FROM vTekiyo WHERE (sakumotsu LIKE '稲%')

(2) SELECT
 zaikei,
 tsusho,
 sakumotsu,
 jiki,
 kaisu,
 seibun1,
 kaisu1,
 seibun2,
 kaisu2,
 seibun3,
 kaisu3,
 seibun4,
 kaisu4,
 seibun5,
 kaisu5,
 MAX(CASE byochu WHEN 'べと病' THEN baisu ELSE '' END) AS hex("べと病"),
 MAX(CASE byochu WHEN 'うどんこ病' THEN baisu ELSE '' END) AS hex("うどんこ病"),
 MAX(CASE byochu WHEN '灰色かび病' THEN baisu ELSE '' END) AS hex("灰色かび病"),
 MAX(CASE byochu WHEN '菌核病' THEN baisu ELSE '' END) AS hex("菌核病"),
 MAX(CASE byochu WHEN '斑点細菌病' THEN baisu ELSE '' END) AS hex("斑点細菌病"),
 MAX(CASE byochu WHEN '褐斑病' THEN baisu ELSE '' END) AS hex("褐斑病"),
 MAX(CASE byochu WHEN '黒星病' THEN baisu ELSE '' END) AS hex("黒星病"),
 MAX(CASE byochu WHEN '炭疽病' THEN baisu ELSE '' END) AS hex("炭疽病"),
 MAX(CASE byochu WHEN 'つる枯病' THEN baisu ELSE '' END) AS hex("つる枯病"),
 CONCAT(', ', CASE WHEN byochu NOT IN ("べと病","うどんこ病","灰色かび病","菌核病","斑点細菌病","褐斑病","黒星病","炭疽病","つる枯病") THEN byochu||''||baisu ELSE '' END) AS hex("その他")
FROM vTsushoTekiyo
WHERE
 sakumotsu IN ("きゅうり","きゅうり(施設栽培)")
 AND yoto IN ("殺菌剤")
 AND hoho LIKE '%散布%'
 AND (jiki LIKE '収穫%' OR IFNULL(jiki, '-') = '-')
 AND zaikei IN ("乳剤","水和剤","水溶剤","液剤","マイクロカプセル剤","エアゾル")
 AND shurui NOT IN ("プロパモカルブ塩酸塩液剤")
GROUP BY tsusho
ORDER BY seibun1, seibun2, seibun3, seibun4, seibun5

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