私は、データベースからのいくつかのデータ(データベース、挿入、ビュー、ソート、行ベースの計算などのすべての可能な操作)を処理する大きな.Netアプリケーションを作成しようとしています。DataReaderと比較してDataSetが本当に遅いですか?
私はADOの専門家ではなく、私のアーキテクチャが最適であることを確認したいと思います。だから、私はDataSetとDataReaderを比較して、どちらが使用されているかを知ろうとしています。
私はOracleにダミーテーブルを作成し、2 000 000のレコードで埋めました。クエリを使用してテーブルのサイズを確認するとき:
select * from dba_segments where Owner = 'TESTUSER'
このテーブルには100 MBのようなものがあります。
MSDNでDataSetがテーブルに関するすべての情報を読み込むのに対し、DataReaderは高速な前向きの読み取りツールです。私がしようとしている
はそれぞれの限界をテストするので、私は次のコードを書いた:
SQL = "Select * from HugeTable"
Command = New OracleCommand(SQL, Me.Connection)
TempDataAdapter = New OracleDataAdapter(Command)
TempDataAdapter.FillSchema(DataSet, SchemaType.Source, FullTableName)
TempDataAdapter.Fill(DataSet, FullTableName)
私の理解が正しければ、私は、データベースから100メガバイトを読み込むために、最後の行をexepectingよ(データベースは同じコンピュータにあります)しかし、私はこのコードを実行すると瞬時に実行されます(数百秒で実行され、理由はわかりません)
何かありますか私は行方不明ですか?
なぜdownvotingですか?質問に何が間違っていますか? –
私のdownvoteではないが、これについて考える:DataAdapterがDataSetを埋めるために使用すると思われることは何ですか? – Steve
申し訳ありません。私はあなたの質問を理解していませんでした –