初心者はロジックフローに関する助けが必要です:この機能を処理する最も効率的な方法は何ですか?
私は、Asp.net Ajaxツールキットに同梱されているオートコンプリートエクステンダコントロールを使用しています。このエクステンダーは、ユーザーがテキストボックスに入力するたびにデータベースを照会する関数を実行するWebサービスに接続されます。私たちが作業するデータベースには何千ものレコードが含まれているので、パフォーマンスは私が狙っているものです。ここに私の機能は、Webサービスである:
Public Function PatronList(ByVal prefixText As String, ByVal count As Integer) As String()
Dim MyPatrons As New List(Of String)
Dim MyConn = System.Configuration.ConfigurationManager.ConnectionStrings("ConnectionString").ConnectionString
Dim sqlPatronList As New SqlDataSource(MyConn, "spBarredList " & prefixText)
Dim tblPatronList As System.Data.DataView = sqlPatronList.Select(New DataSourceSelectArguments)
Dim CurPatronRow As Long
Dim MaxPatronRow As Long = tblPatronList.Count
For CurPatronRow = 0 To MaxPatronRow - 1
MyPatrons.Add(tblPatronList.Item(CurPatronRow).Item("FullName"))
Next
Return MyPatrons.ToArray
End Function
「spBarredListは」3つの文字が渡されたときに3列のようなステートメントを実行し、ストアドプロシージャであるので、ここで私の質問があります:。
それは次のようになりこのようにするのが効率的ですか、またはすべてのレコードをデータセットに選択して配列に追加して配列を検索するだけですか?また、この関数が実行されるたびにデータソースとリストの新しいインスタンスが作成されるのは悪いことですか?
ありがとうございます。