我如何测试我的数据库速度? (学习)

时间:2010-05-07 10:30:31

标签: .net sql sqlite performance database-schema

我设计了一个数据库。没有带索引的列,也没有任何优化代码。我很肯定我应该索引某些列,因为我经常搜索它们。

我的问题是我如何测试数据库的任何部分是否会变慢? ATM我正在使用sqlite,我将根据我的主机提供商切换到MS Sql或MySql。在每个表中创建100,000条记录就足够了吗?或者在sqlite中总是很快,我需要做1mil?在数据库变慢之前我需要10mil吗?

另外我如何计时?我正在使用C#所以我应该使用StopWatch还是应该使用ADO.NET/Sqlite函数?

2 个答案:

答案 0 :(得分:2)

随着时间的推移监控事情真的是一个问题,因为随着您添加更多数据,最佳执行计划会发生变化。如果要测试,那么1000万行应足以使大多数性能问题可见,但您还需要尝试使用与实际数据相同的基数特征来填充测试数据。 SQL Server内置了许多性能监视功能(动态管理视图,XEvents,SQL跟踪/分析器),但是如果您使用托管解决方案,我不确定您能够访问多少。为了监视数据库之外的性能,ADO.NET支持跟踪,但我自己从未使用过它。

答案 1 :(得分:0)

关于你的第二个问题Sqlite几乎总是比MsSql快,因为Sqlite中的数据库在内存中,就像你的数据库在硬盘上的MsSql一样