特にデータベース自体が専用ツールを提供していない環境で、データベース操作でプログラムによるパフォーマンステストを実行する効果的な方法は何ですか?
たとえば、Google App Engineでは、ページ読み込み全体が特定のデータベース操作を含む1つの操作として評価されます。この問題は、SQLiteやその他の統合DBにも存在する可能性があります。テストする必要がある(同等の)選択と挿入を完全に抽象化することは難しいので、これらの種類のクエリに対してより完全な診断を実行するための推奨データベースツールはありますか?
あなたの問題は、基礎となるデータベースで十分にサポートされていないパフォーマンスメトリックをテストしようとしていることです。これにより、基盤となるアプローチが大きく異なるため、システム間でパフォーマンスを比較することが非常に難しくなります。 ORDBMS型のアプローチとRDBMS型のアプローチの比較ができないのと同じように、AppleからAppleへの比較を行うことはできないと思います。パフォーマンスの問題はあまりに異なっており、TPC-Cテスト用にORDBMSを最適化することがポイントを逃すというStonebrakerが正しい場合、さらに離れたシステムでは不可能になります。 (しかし、彼はそこにいると思いますが、ORDBMS機能が関係するのはここだけです。)
正直に言うと、各システムの使い方を見て、それぞれのアプローチに基づいてベンチマークツールを構築することです。次に、少なくともそのワークフローについて、ベンチマークが何か特定のものを示していると言えます。ただし、一般化の方法はわかりません。さまざまなエンジンでのテスト実行に費やされた時間に関する追加情報を取得するために、プロファイラーでさらに実行できます。
ただし、dbベンチマークを最良の状況で意味のあるものにすることは非常に困難であり、異なるシステムを比較している場合、一般化することは不可能になります。