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