0

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

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

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

4

2 回答 2

2

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

于 2010-05-07T10:36:43.780 回答
0

关于您的第二个问题 SqlLite 几乎总是比 MsSql 快,因为您在 SqlLite 中的数据库在内存中,因为在 MsSql 中您的数据库在硬盘上

于 2010-05-07T10:43:19.757 回答