gpt4 book ai didi

database - 多少个数据库索引太多了?

转载 作者:太空狗 更新时间:2023-10-30 01:37:06 24 4
gpt4 key购买 nike

我正在处理一个具有相当大的 Oracle 数据库的项目(尽管我的问题同样适用于其他数据库)。我们有一个网络界面,允许用户搜索几乎任何可能的字段组合。

为了加快这些搜索的速度,我们正在为我们认为用户通常会搜索的字段和字段组合添加索引。但是,由于我们并不真正了解我们的客户将如何使用该软件,因此很难判断要创建哪些索引。

空间不是问题;我们有一个 4 TB 的 RAID 驱动器,我们只使用了其中的一小部分。但是,我担心索引过多可能导致的性能损失。因为每次添加、删除或修改行时都需要更新这些索引,所以我想在一个表上有几十个索引是个坏主意。

那么有多少索引被认为太多了? 10? 25? 50?或者我应该只涵盖真正非常常见和明显的案例而忽略其他一切?

最佳答案

这取决于表上发生的操作。

如果有很多 SELECT 和很少的更改,索引所有你喜欢的......这将(可能)加快 SELECT 语句的速度。

如果表受到 UPDATE、INSERTs + DELETEs 的严重打击......这些对于大量索引来说会非常慢,因为每次这些操作之一发生时都需要修改它们

话虽如此,您显然可以向一个不会执行任何操作的表添加大量无意义的索引。将 B-Tree 索引添加到具有 2 个不同值的列将毫无意义,因为它不会在查找数据方面添加任何内容。列中的值越独特,它就越能从索引中获益。

关于database - 多少个数据库索引太多了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/141232/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com