一句话概念

索引(Index) 就像是数据库里的“目录”或“书的索引页”。
它的主要作用是:

加快查询速度,减少数据库扫描整张表的次数。


? 举个简单的例子

假设你有一个商品表 products,里面有几万条记录。
如果你执行下面的查询:

SELECT * FROM products WHERE brand = 'Nike';
  • 如果没有索引,SQLite 必须从头到尾一行行地去找,叫做全表扫描(Full Table Scan),很慢。

  • 如果给 brand 字段建了索引:

    CREATE INDEX idx_product_brand ON products(brand);

    那么数据库会像查字典一样,直接跳到 “Nike” 那一页,瞬间定位到结果。


? 索引的作用总结

功能说明
? 加快查询速度WHEREJOINORDER BYGROUP BY 等操作提速
提高排序性能如果查询语句中带 ORDER BY category,而该列有索引,会自动利用索引排序
? 提高关联性能当你 JOIN 两张表时,若连接字段有索引,匹配更快
? 帮助唯一性约束UNIQUE 索引可以防止重复值(比如 product_code

⚠️ 注意事项(索引的代价)

虽然索引很强大,但也有 副作用

问题说明
? 插入/更新变慢每次修改数据时,索引也要更新
? 占用空间索引要额外占磁盘空间(有时比表还大)
? 索引太多会拖慢性能不是越多越好,常用的查询列才值得建索引
本站提供的所有下载资源均来自互联网,仅提供学习交流使用,版权归原作者所有。如需商业使用,请联系原作者获得授权。 如您发现有涉嫌侵权的内容,请联系我们 邮箱:[email protected]