各种RDBMS查询的执行时间?

时间:2009-12-31 02:08:08

标签: database performance optimization query-optimization benchmarking

对于各种查询的执行时间是否有一些可靠的(即已确认的)数据,例如不同类型的连接,扫描,具有不同类型和大小的数据?我正在寻找数量级。这不一定是供应商特定的数据。

latency for various access times的呈现方面应该类似。 (单击“查看响应”。)

我正在寻找它的原因是决定我是否应该根据我正在进行的项目使用RDBMS。我不需要复杂的连接,我可能会使用本地内存缓存甚至磁盘访问。

根据请求,可能需要RMDBS的项目部分在单个节点上都是本地的。节点可以存储任何类型的数据,并且任何类型的读/写都是基于密钥的,因为它将其存储组件视为大字典。它可能会尝试迭代对象,并且可能有一个对象为这些对象提供列表。这种迭代可能类似于“查找具有此属性的所有对象”(即查找列与此值匹配的所有行)。这是我不确定的部分 - 如果有的话,RDBMS会给我多少优势?我不认为需要加入。

我喜欢这个基准测试的另一个原因是,考虑到网络延迟和本地执行时间之间的差异,我可以决定卸载到各个节点的数量。

3 个答案:

答案 0 :(得分:1)

"No SQL" movement可能会决定寻求关系数据库的替代方案。

但在任何情况下我都不会尝试自己实施持久性技术。

您的问题无法以通用方式回答。

我能想到的解决它的最佳方法是编写一个通用的持久性接口,允许您交换实现。编写关系实现和您选择的另一种技术。对这两者进行基准测试,看看哪一个在适合您情况的现实条件下工作。成为一名科学家 - 获得一些数据。自己创建它,而不是依赖于论坛,对我来说似乎是一种聪明的方法。

答案 1 :(得分:0)

根据您的描述,您似乎不需要RDMS。

您是否可以使用SQL语言访问数据....或者您的使用是否可以预测。

RDBMS有许多层开销,例如解析SQL语句。

如果您只需将数据存储在内存和文件系统中而无需SQL语言访问,那么您就有机会加快系统速度。

希望有所帮助。 伊万

答案 2 :(得分:0)

关于每种查询的时间问题很难直接回答,但我会尝试。我个人也喜欢知道不同操作的绝对时间。我认为对于简单的按键访问,每个简单的SQL可以预期10-20毫秒。另一个数字 - 如果你想从一个表中读取大量数据,你可以期望在一台现代CPU的服务器上每秒获得数百兆字节。 关于RDBMS服务器选择 - 对于简单查询,像MySQL这样的简单RDBMS引擎将做得最好。如果您的查询变得复杂 - 那么像Oracle,DB2,SQLServer这样的更严肃的引擎将为自己付出代价。 我为谷歌应用引擎数据存储区做了一些基准测试:dbaspects.blogspot.com