我目前正在对具有等效查询的相对较大的数据集对两个数据库Postgres和MongoDB进行基准测试。当然,我正在尽力将它们置于同等地位,但我有一个两难的境地。对于Postgres,我采用EXPLAIN ANALYZE
报告的执行时间,与MongoDB有类似的概念,使用分析(尽管不等同,millis
)。
但是,如果从PgAdmin或mongo
CLI客户端或我观看的C#应用程序执行,则会观察到不同的时间。那个时间还包括传输延迟,以及可能的协议差异。例如,PgAdmin实际上似乎完全改变了执行时间(显然包括结果渲染时间)。
问题是:实际测量“接收端”的时间是否有任何意义,因为应用程序实际上消耗了这些数据?或者它只包含太多变量并且对实际数据库性能没有任何贡献,我应该坚持报告的DBMS执行时间?
答案 0 :(得分:0)
您必须回答的问题是为什么要对数据库进行基准测试?如果您正在进行基准测试,那么您可以选择其中一个,以便在C#应用程序中使用,那么您需要测量“在'接收端'上的时间”。无论可能包含哪些变量,您都需要进行比较。