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