当前位置: 首页 > news >正文

索引有什么作用?

一句话概念

索引(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

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

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

问题 说明
🐢 插入/更新变慢 每次修改数据时,索引也要更新
💾 占用空间 索引要额外占磁盘空间(有时比表还大)
📉 索引太多会拖慢性能 不是越多越好,常用的查询列才值得建索引
http://www.jsqmd.com/news/14986/

相关文章:

  • 关于卷积神经网络(CNN)的入门学习报告
  • 【记录】Ubuntu|Ubuntu服务器挂载新的硬盘的流程(开机自动挂载) - 指南
  • 10月16日日记
  • mongoDB体验
  • 云服务器上部署 EasyTier中转服务器
  • 问世界
  • 为 .NET 10 GC(DATAS)做准备
  • 实用指南:Kotlin协程 vs Java虚拟线程:从Continuation挂起到ForkJoin调度,解锁现代并发新范式
  • LLM学习记录DAY3
  • 你的程序为何卡顿?从LINUX I/O三大模式寻找答案
  • 黄景行电脑软件
  • 开源许可协议 gpl vs mit?
  • 二进制警报器
  • 题解:P8019 [ONTAK2015] OR-XOR
  • DP 思维好题(转载)
  • 万字长文详述单据引擎原理、流程、单据管理 - 智慧园区
  • 常见问题处理 --- win卡任务栏 设置无法打开 桌面重启
  • python sse的是什么?
  • idea代码阿里格式化
  • windows 链接共享打印机出现错误0x00000709?打印机0x0000011b错误?0x0000bcd、0x00000709、0x00000011b
  • 解码Linux文件IO目录检索与文件属性
  • p66实验题
  • 20251016
  • C# - 串口助手
  • 虚拟线程的pinned问题终于被jdk25完美解决了
  • 077_尚硅谷_单分支基本使用
  • 【比赛记录】2025NOIP 冲刺模拟赛合集I
  • 12 继承--instanceof和类型转换
  • C0214 拔树游戏 题解
  • CSDN Markdown 编辑器快捷键大全 - 实践