Index 是为了加速查询的速度,它是储存在数据库中的实实在在的数据结构。
通过 Index 可以快速定位到数据库中的具体某一行
Index 的实现数据结构常有
- 平衡树(B tree, B+ tree)
对数级,(ex:A < v, A=v,A > v) - 哈希表
常数级,(ex: A=v)
Index 的坏处有
- 额外的存储空间
- Index 创建需要时间(如果需要经常查询,这是值得的)
- Index 维护(表内容更改时,索引也要更改)
所以,建不建立所以需要考虑如下因素
- Size of table (and possibly layout)
- Data distributions
- Query vs. update load
SQL 创建 Index 语法
Create Index IndexName on T(A)
Create Index IndexName on T(A1, A2,..,An)
Create Unique Index IndexName on T(A)
Drop Index IndexName