過去の桐井戸端BBS (桐ver.8)
4035 LANにおいて処理速度アップの方法は? tomo 1999/12/29-12:09
実表更新可能な結合表をグループ項目を持つフォームで編集しようとしましたが、
LANでの使用には、普通に行訂正するにも速度が遅く、実用には今一つです。

桐の側の工夫で処理速度を早める方法が何かありますか?

結合表は、マスタ生徒.tbl(レコード数800)、マスタ科目.tbl(レコード数1
50)に主キー、
成績.tbl(レコード12000)に外部キーを設定し、成績.tblと同数のレコード
が出来ます。
結合表定義で、2項目に並べ替えを指定しています。
フォームは、科目・科目番号・学年・組がグループ化項目です。

LANは100baseスイッチングハブでつないでいます。
4047 Re:処理速度アップの方法は? MIT 1999/12/30-05:43
記事番号4035へのコメント
MITと申します。
tomoさんの投函内容からWin桐でのファイル共有の場合と判断します。
現在のWin桐は共有テーブルの索引が機能しないので、それを必要と
するフォームは件数などに比例してレスポンスが低下します。共有テーブル
に対する操作でレスポンスを追求した時、桐側で考えられる方法としては

*グループ項目のあるフォームは使用しない
*共有の必要性でテーブルを分ける
*更新可能性の有無でテーブルを分ける
*正規化を追求せず、なるべく少数のテーブルにまとめる
*表引きを使わない
*項目計算式のある項目は可能な限りフォーム・レポート上で
定義してその項目をテーブルから無くす
*数値系データに代用できる項目は文字列型を使わない
*索引を作らない(テーブルサイズを抑えるため)
*フォームは必要最低限のオブジェクトのみにする

などでしょうか?
こんな方法ではカード型データベースシステムのようで、桐の特徴がかなり
失われてしまいますが、私はレスポンスを要求されるシステムでこういった
手法を採っています。
以上ご参考までMIT

4050 Re:処理速度アップの方法は? tomo 1999/12/30-21:28
記事番号4047へのコメント
MITさん、ありがとうございます。
申し遅れましたが、桐8sp3です。

>*共有の必要性でテーブルを分ける
>*更新可能性の有無でテーブルを分ける
昔はフロッピーでデータを集めていましたが、
トラブルが多いため、やめました。
一定時期に集中しての入出力作業となるため
LANで共有状態の表に入力しています。

>*正規化を追求せず、なるべく少数のテーブルにまとめる
主キーに当たる項目の保守に神経を使うので、
正規化したいんですが、うーん、困った。
正規化すれば、生データは1つの表(と結合表)だけ。
今は、200から300レコードの表が27つ。

>*グループ項目のあるフォームは使用しない
>*表引きを使わない
>*項目計算式のある項目は可能な限りフォーム・レポート上で
>定義してその項目をテーブルから無くす
>*数値系データに代用できる項目は文字列型を使わない
>*索引を作らない(テーブルサイズを抑えるため)
>*フォームは必要最低限のオブジェクトのみにする
この辺りは一括処理でうまくやるしかないですね。

参考になりました。
考え直してみます。

戻る