SQL 里的索引操作,挺考验你对数据库结构理解的。Oracle 的索引语法稍微复杂点,像是CREATE [UNIQUE][CLUSTERED] INDEX
这种格式,刚看会懵,但一上手就发现逻辑其实挺清晰的。是搞清楚UNIQUE和CLUSTERED的区别之后,你会发现性能提升真的不只是说说而已。
单列还是多列索引?这个得看你查询习惯。一般业务场景里,某个字段比如user_id
常查,那就单列搞定;但像复合条件查询,CREATE INDEX idx_name ON table(col1, col2)
会更稳妥。顺序、升降序也能设,默认ASC
,但有时候你换成DESC
反而能更贴近业务需求。
顺便推荐几个相关内容,蛮有的:删除索引(Oracle Index)、聚簇索引-SQL 语言基础、索引连接(INDEX-JOIN)。看懂了这些,你基本就能把索引用得比较灵活了。
提醒一下,如果你在查大表、跑报表,索引建得好,查询能快几倍;建错了,不但慢,还拖垮整库。嗯,动手之前先想清楚查询场景,才不至于浪费资源。