我有一个SQL Compact 4.0数据库,其中一个表有大约20列和大约1,000,000行。
我遇到的问题是性能,因为用户可能会使用这20个列来过滤结果,查询将花费大量时间来执行(可能大约一分钟)。
出于测试目的,我为这些列创建了索引,虽然性能非常好但我想知道这样做有什么好处吗?
感谢。
答案 0 :(得分:0)
每个索引意味着更长的插入/删除时间,因为必须重新索引表。因此,如果您有更多的插入/删除而不是选择,那么最好不要制作它们。
答案 1 :(得分:0)
问题是插入将花费更多时间(或其他表修改)和索引文件大小。
如果你的应用程序主要用于查询庞大的数据库,那么你可以很好地使用这个catch,并且基本上可以提高性能而无需捕获。
如果经常发生插入或其他重建索引表修改,则必须平衡索引数量,以便最重要的任务的性能最佳,而不那么重要的任务也不会那么快。
如果没有捕获,你不能做的就是保持选择和插入速度超快。