【发布时间】:2013-12-16 20:56:58
【问题描述】:
我有一个 SQL Compact 4.0 数据库,其中的表有大约 20 列和大约 1,000,000 行。
我遇到的问题是性能问题,因为用户可能会使用这 20 列来过滤结果,因此查询将花费大量时间来执行(可能大约一分钟)。
出于测试目的,我为这些列创建了索引,虽然性能非常好,但我想知道这样做有什么问题吗?
谢谢。
【问题讨论】:
标签: performance sql-server-ce sql-server-ce-4
我有一个 SQL Compact 4.0 数据库,其中的表有大约 20 列和大约 1,000,000 行。
我遇到的问题是性能问题,因为用户可能会使用这 20 列来过滤结果,因此查询将花费大量时间来执行(可能大约一分钟)。
出于测试目的,我为这些列创建了索引,虽然性能非常好,但我想知道这样做有什么问题吗?
谢谢。
【问题讨论】:
标签: performance sql-server-ce sql-server-ce-4
问题是插入需要更多时间(或其他表修改)和索引文件大小。
如果您的应用程序主要用于查询庞大的数据库,您可能会很好地使用这个捕获,并且基本上可以在没有捕获的情况下提高性能。
如果插入或其他重新索引表修改频繁发生,您将必须平衡索引数量,以便最重要任务的性能最佳,而不太重要的任务不会那么快。
没有catch你不能做的是保持选择和插入速度都超快。
【讨论】:
每个索引意味着更长的插入/删除时间,因为必须重新索引表。所以,如果你的插入/删除比选择多,最好不要做。
【讨论】: