![]() |
1
10
非常非常 A G G ) 重要的 . 在我看来,明智的索引是数据库性能优化中绝对最重要的事情。 这不是一个简单的问题,在一个单一的答案涵盖。好的索引需要了解数据库上将要发生的查询,进行大量权衡,并理解特定数据库引擎中特定索引的含义。但这是非常重要的。 基本上,聚集索引通常应该具有较短的长度。它们应该在反映范围的查询上创建。它们不应该有重复的条目。但这些指导方针非常笼统,绝不是正确的。正确的做法是分析将要执行的查询。仔细地对执行计划进行基准测试和分析,并了解执行计划的最佳方式。这需要多年的经验和知识,决不是一段话就能解释的。这是使DB专家成为专家的主要因素(这不是唯一的因素,但它对于其他重要因素来说是原始的,例如并发性问题、可用性等等)! |
![]() |
2
2
索引:非常重要。索引错误会使查询更加困难,有时甚至无法在合理的时间内完成。 索引还会影响插入性能和磁盘使用率(负面),因此在大型表上保留大量多余的索引也是一个坏主意。 集群是一个值得考虑的问题,我认为它实际上取决于特定数据库的行为。如果可以正确地对数据进行集群,则可以显著降低满足对不在内存中的行的请求所需的IOPs量。 |
![]() |
3
1
我还推断您没有主键,这是关系设计中的一个主要缺点。 |
![]() |
4
1
当表包含许多行时,索引非常重要。
|
![]() |
5
1
索引是 至关重要的 正确的查询索引可以极大地提高性能 巫术 |
![]() |
6
1
正如其他答案所说,索引是至关重要的。 正如您可能从其他答案中推断的那样,集群索引的重要性要小得多。 适当的索引可以让您获得一阶性能增益——数量级是常见的。 集群索引是一种二阶或增量性能提升—通常会带来较小的(<100%)性能提升百分比。 (我们还遇到了“什么是100%的性能提升”的问题;我将这个百分比解释为((oldtime-newtime)/newtime)*100,因此如果旧时间是10秒,新时间是5秒,性能提升是100%。) 特别是,一些DBMS会对数据进行一次聚类,然后,聚类会随着时间的推移而衰减,直到重新对数据进行聚类。我相信,其他人对集群持更积极的观点。 |
![]() |
7
0
聚集索引通常是主键,但并不总是主键。查看聚集索引的一种方法是根据聚集索引的值对数据进行物理排序。 事实上可能并非如此,但重新引用聚集索引通常会为您带来以下性能奖励:
不要指望第三个,尤其是第四个#在大多数RDBMS平台上,1和#2通常是安全的赌注。 |
![]() |
ecology · 基于R中随机生成数集的子集列 2 年前 |
![]() |
Krischk · 使用python;获取列表中错误项的索引[已关闭] 2 年前 |
![]() |
Mohona · 对一维数组元素的迭代在几次迭代后给出了索引错误 2 年前 |
![]() |
X3VI · 熊猫-重命名_轴后无法按预期工作-为什么? 2 年前 |
![]() |
dam · 为什么这是我使用索引的输出?什么是索引?[闭门] 2 年前 |
![]() |
Sahil Panhalkar · 显示索引超出范围的列表更新语句 2 年前 |
![]() |
SpaceBallz · 比较嵌套列表中的值 2 年前 |
![]() |
startresse · 自定义type\u索引顺序,无boost 2 年前 |