2019独角兽企业重金招聘Python工程师标准>>>
创建索引时每个开发人员都懂的,初衷也是很棒,但是瞎创建索引,不注意场合创建索引也是开发人员做的
最终导致数据库突然hang住或者某些SQL跑的很慢。
创建索引会导致全表扫描,会对对应的字段进行索引统计信息更新、进行排序、还会锁表。
对待大表创建索引,最容易出现性能问题,同时大表创建索引时很有可能导致LRU热端的块被刷出去,
因此针对大表的索引创建必须在业务低时创建。
10g 、11g都提供两种创建索引的方式:online和offline(默认)
但是10g的online是假的,何谓假的!简单的说,10g 的online 和offline最终导致的作用是一样的,锁表!
11g的online是真的,在业务负载不是最高的时候,可以通过online + nologging进行索引创建,还可以开并行!