過去の桐井戸端BBS (桐ver.8)
7160 結合表を使うとスピードは遅くなるのでしょうか たかし 2000/08/15-23:56
桐の読み込むスピードが、遅くて、今壁にぶつかっています。
それは、ひとえに結合表を使っているからのなのか
データーの量が多いのか、表引きが多いのか、わかりません
ちなみに今のそのフォームは、結合表を使い、データー量が多く、表引きも多いです、
どれが一番の原因でしょうか
7188 結合表を使うとスピードは 佐田 守弘 2000/08/17-00:10
記事番号7160へのコメント
たかしさん
結合表を使った場合、単に表を開く時と違って、開く度に結合を実行しますから、当然ながら、
その時間が掛るのは止むを得ません。
ただし、それがどの様な状況下分かりませんが、問題になる程の時間が掛るとは思えません。
時間が掛るとしても、通常は無視できる程度の筈です。

で、この様な質問がでるからには、耐えられないほどの時間が掛っているのかと思いますが、
それは具体的にどの程度なのでしょうか。

>ちなみに今のそのフォームは、結合表を使い、データー量が多く、表引きも多いです
>、どれが一番の原因でしょうか

との事ですが、仮にPentiumの2000MHzクラスのパソコンで、仮にデータ数が数万行だとしても、
気になるほどの時間が掛るとは思えません。
(何秒といった程度での時間が掛るのは仕方ないと思います)

もし耐えられないほどの時間が掛っているとしたら、その原因は適切な索引を作っていない点にあると思います。

まずは、結合のキーとなる項目での索引、および表引きでの検索項目についての索引がきちんとできているかを
チェックしてみて下さい。

佐田守弘(KS-00119)
7216 Re:結合表を使うとスピードは遅くなるのでしょうか MIT 2000/08/17-20:13
記事番号7160へのコメント
たかしさん
結合表や表引きのパフォーマンスを左右するのは佐田先生が述べられている通り「適切な索引」によります。
要するに結合や表引きで比較対象となる項目に対する索引の有無ですね。
ただフォームという表現をされているので,Win桐を使用されていると解釈しますが,
表を共有で開いている場合は「索引」が機能しません。
従って共有で表を開くケースでは索引の有無ではパフォーマンスが改善しないかも知れません。

また,表引きを多用されているとの事ですが,表引き定義に登場する表も全て開く事になります。
これらの表サイズが大きければ,やはりレスポンスに影響するでしょう。

表定義や表の構成方法によっては表引きを減らす事が出来るかもしれません。
本来1つの表を利用目的に応じて分けるなども対象データ量を減らす意味で有効な場合があります。
また,ネットワーク経由ではローカルに読み込んで動作させるような仕組みも有効かも知れません。
以上あまり的を得ていませんがご参考まで。MIT

7218 Re:結合表を使うとスピードは遅くなるのでしょうか ケント 2000/08/18-08:51
記事番号7160へのコメント
たかしさん こんにちは

私の場合、表A(項目数20、データ500件ほど)表B(項目数10、データ6000件ほど)を結合し、
表引き参照される表C(項目数5、データ200件ほど)および表D(項目数3、データ30件ほど)、
という状況でPentium90MHzの機械で一覧表フォームの表示まで60秒くらいかかりました。
索引とかは何回も確認したのですが、そんなものでした。
同じフォームがPentium200MHzでは20秒前後で表示しました。

と、ここまで書いて思い出したのですがグループ化もしていたのでした。
フォームが表示するまでの間、ステータスバーに”結合中””抽出中”とでて、
特にグループ化をしていると思われる”抽出中”が長かった記憶があります。

で、結局結合表の利用を止めメイン&サブフォームに変更することで、表示までの時間が劇的に短縮しました。
何秒かは覚えていないですが(悪いデータは文句があるので覚えているが、良いデータは納得して忘れてしまう..)
数秒でしょう。

外しているかもしれませんが、参考まで。
7307 Re:ケントさん mitさん 佐田先生ありがとうございました。 たかし 2000/08/23-01:26
記事番号7218へのコメント
ありがたいご意見ありがとうございました。

戻る