1

データベース接続のパフォーマンス (MySQL、Oracle、MSSQL) をテストするサンプル プログラムを作成しています。

すべてのデータは次を使用して準備され、キューに入れられます。InsertOnSubmit()次に、次を使用して DB にプッシュされます。

DateTime dbInsertStartTime = DateTime.Now;
db.SubmitChanges() ;
DateTime dbInsertStopTime = DateTime.Now;

操作時間をミリ秒単位で取得できます。

キューに入れられた、またはDB に書き込まれたデータのサイズを取得するにはどうすればよいですか?

このプログラムでは、実際の作業条件をシミュレートする必要があるため、ユーザーは生成するデータの数 (10 個のデータ タイプ A、4 個のタイプ B など) を定義できます。量ではありません。

したがって、生成されたデータの数を知りたいです。

4

1 に答える 1

0

DataContextは、追加、変更、または削除されたすべてのオブジェクト (それぞれに 1 つのコレクション) を含むを返すGetChangeSet()メソッドがあります。ChangeSetもう少し Linq を使用すると、それらをタイプに分けて数えることができ、各タイプの数を確認できます。

また、コメントで It'sNotALie が指摘しているように、タイミング操作の場合は、 ;System.Diagnostics.Stopwatchの代わりに実際に使用する必要があります。DateTimeそれははるかに優れた精度を持っています。

ノート:

この回答は、Linq-To-SQL のDataContext. Entity Framework を使用している場合は、影響を受けたエンティティの数を示すDbContext.SaveChanges()が返されます。このイベントを使用してオブジェクトの状態を検査し、取得することができます。intSavingChangesObjectStateManager

于 2013-08-08T09:30:59.137 に答える