|
|
1
5
一
它最后存储的原因是如果您有一个表
|
|
|
2
4
值得指出的是,这只是内部存储。 从开发人员的角度来看,long可以是第三列、第六列或第一列,或者任何地方。您仍然可以将列添加到一个长的表中。也就是说,您几乎肯定不应该再创建一个长的表。它们应该是木块(或木块,而不是长的生的)。
我的猜测(除非为甲骨文工作的人公开表态,这是推测)是因为多头很可能“不适合”一个区块中的行。一行有一个长的将有很好的机会需要超过1块大小。多头最有可能被分开(因为它的大小)。通过将其推到最后,其他所有列更有可能一起放在一个块上。 |
|
3
1
(不是甲骨文的专家-只需看看长的是什么) 一般来说,long(和其他blob类型)不受搜索条件(在join或where子句中)的约束。因此,将它们移到末尾是有意义的,这样其他列(更可能一起查询)就可以紧密地位于一起。然后,在评估此特定行是否符合查询条件时,只需要读取这些其他列。 |
|
|
developer · 带外键的SQL表设计 1 年前 |
|
|
relatively_random · 确保两个表之间一致的共同参考 1 年前 |
|
|
b126 · 在两种不同的Oracle模式上执行相同查询的速度差异很大 2 年前 |
|
|
robertspierre · 在多对多关系中自动删除未引用的行 2 年前 |
|
|
Michael Samuel · MYSQL在以下情况下自动创建索引 8 年前 |