我当前正在基准在带有等效查询的相对较大的数据集上,在两个数据库中进行基准测试。当然,我正在尽力将它们放在平等的理由下,但我有一个困境。对于Postgres,我使用EXPLAIN ANALYZE
报告的执行时间,并且使用分析(尽管不是等效,millis
)也有类似的概念。
然而,如果从中执行,可以说PGADMIN或mongo
CLI客户端或在我的手表C#应用中观察到不同的时间。那个时间还包括传输延迟,可能是协议差异。例如,PGADMIN实际上似乎完全变形了执行时间(显然包括结果渲染时间)。
问题是:实际上测量"接收端"上的时间有任何意义,因为应用程序实际上会消耗该数据?还是仅包含太多变量,并且对实际数据库性能没有任何贡献,我应该坚持报告的DBMS执行时间?
您必须回答的问题是为什么要根据数据库进行基准测试?如果您要进行基准测试,以便您可以选择一个,以便在C#应用程序中使用,则需要测量"接收端"上的时间。无论您可能包含什么变量,这就是您需要比较的。