PostgreSQL数据库的索引

索引不只有优点,还有缺点

Posted by Keal on June 9, 2023

索引优化了查询速度, 但代价是会占据更多的空间以及导致写操作的复杂度变高. 索引有什么类型,每种类型有什么用处呢? 之前看«高性能MySQL»知道了关于MySQL的索引, 但是PostgreSQL的还没建立一个系统的知识,这篇文章就是写来帮助自己理解PostgreSQL的索引

https://mastermind.dev/indexes-in-postgresql

总结的几点:

  1. 索引能优化搜索,join,排序等的操作.
  2. 索引的代价是需要更多的磁盘空间存储索引, 所以不要创建过多的索引.
  3. 覆盖索引可以避免查完索引之后的再查原数据流程
  4. 使用analyze和explain来观察执行计划, 寻找需要索引的点.
  5. 数据量较少的时候不需要加索引, 直接查询原始数据会比先通过索引查更快.