数据库索引应用都有哪些类型

说白了,数据库索引就两种,聚簇和非聚簇,选哪种得看具体情况。

聚簇索引是核心,索引页直接存数据,顺序跟物理存储完全对齐,像图书馆按书名排的架,查起来特别快,尤其适合范围查询。
比如去年我们跑的那个用户行为表,对DATETIME字段搞聚簇索引,秒级查某天谁干嘛去了,但记住,一个表只能搞一个,数据只能按一种顺序放。

非聚簇索引更灵活,索引页存的是数据指针,顺序跟物理存储没啥关系,像书后面的大纲,方便按多个条件查,比如网点日志表,既按日期查又按用户名查,日期用聚簇索引,用户名搞非聚簇的就行。
但这个得加把劲,非聚簇索引占空间还慢,去年有个项目加了太多,每次更新数据都卡成狗,后来发现不对劲,赶紧删了一半。

说实话挺坑的,选哪种得结合表结构、查啥、还要求啥速度。
等等,还有个事,非聚簇索引最多2 4 9 个,别瞎堆。

建议多跑跑实际数据再决定,别光看理论。

数据库索引是什么意思

索引是加快查询速度的结构。

建在列上,可以是主键、外键。

类似书目录,快速定位数据。

B树、哈希、位图等类型。

查询快,插入慢。

索引影响性能,要权衡。

mysql数据库的索引类型

普通索引:加速查询,无限制。
建表时或后创建,字符串可指定长度。
唯一索引:列值唯一,空值允许。
建表时或后创建,字符串可指定长度。
主键索引:特殊唯一索引,表只能一个,不许空值。
建表时创建。
组合索引:多字段索引,最左前缀集合。
建表时或后创建。
全文索引:查文本关键字,MATCH...AGAINST。
CHAR/VARCHAR/TEXT列。

建表时创建索引效率高。