0

次のようにクエリを記述してデータを取得すると、20,000 レコードのテーブルがあります

select emp_id from emp;

テーブルからデータをより速く取得する方法を実行するのに13〜15秒かかります。20,000 以上ではないことに注意してください。

ここに emp_id が出力されます ここには mtrl_cd しかありません

 columnname ID      PK null       datatype     Histogram  numdistinct
    MTRL_DESC   2       Y   VARCHAR2 (100 Byte)   None    19480         
    MTRL_CD     1   1   N   VARCHAR2 (9 Byte)     None    19990
4

2 に答える 2

2

emp_id がすでに主キーである場合、この単純な SELECT に対して多くのことを行うことはできません。画面が遅い理由は、20000 個を超える項目をコンボ ボックスにバインドしているためです。

考えられる解決策の 1 つは、ajax オートコンプリートです。これは .net のサンプルです。 http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/AutoComplete/AutoComplete.aspx

于 2012-10-18T06:20:34.180 に答える
1

大きなデータにアクセスするときの主な事実は、実際に必要なデータを常に取得することです。そのために、クワイアで条件を使用します。私たちが使用する一般的な条件は、ページング、検索条件、一部のデータに関連するレコードのみを表示するなどです。したがって、これは設計上の問題と考えてください。

[編集]

それらの大きなデータをコンボボックスにリンクさせたい場合は、次の記事を参照してください。

jQuery Searchable DropDown プラグインのデモ

ASP.NET AJAX コントロール ツールキット

ComboBox コントロールの使用方法を教えてください。(C#)

于 2012-10-18T06:20:04.273 に答える