TRON:催化剂免安装绿色中文版
5.61G · 2025-10-17
索引(Index) 就像是数据库里的“目录”或“书的索引页”。
它的主要作用是:
加快查询速度,减少数据库扫描整张表的次数。
假设你有一个商品表 products
,里面有几万条记录。
如果你执行下面的查询:
SELECT * FROM products WHERE brand = 'Nike';
如果没有索引,SQLite 必须从头到尾一行行地去找,叫做全表扫描(Full Table Scan),很慢。
如果给 brand
字段建了索引:
CREATE INDEX idx_product_brand ON products(brand);
那么数据库会像查字典一样,直接跳到 “Nike” 那一页,瞬间定位到结果。
功能 | 说明 |
---|---|
? 加快查询速度 | 对 WHERE 、JOIN 、ORDER BY 、GROUP BY 等操作提速 |
⚡ 提高排序性能 | 如果查询语句中带 ORDER BY category ,而该列有索引,会自动利用索引排序 |
? 提高关联性能 | 当你 JOIN 两张表时,若连接字段有索引,匹配更快 |
? 帮助唯一性约束 | UNIQUE 索引可以防止重复值(比如 product_code ) |
虽然索引很强大,但也有 副作用:
问题 | 说明 |
---|---|
? 插入/更新变慢 | 每次修改数据时,索引也要更新 |
? 占用空间 | 索引要额外占磁盘空间(有时比表还大) |
? 索引太多会拖慢性能 | 不是越多越好,常用的查询列才值得建索引 |