本篇内容介绍了“怎么使用PostgreSQL的Hypothetical Indexes”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!What is Hypothetical Indexes
H免费主机域名ypothetical Indexes直译为”假设索引”,是相对于”物理索引”而言的,可以理解为假设存在但实际上物理不存在的索引,其作用在于对SQL的调整和优化.在测试环境,数据量不太大的情况下,可以通过添加实际的索引来对SQL进行调优,但在生产环境,由于添加索引会影响业务和数据库的正常运行,因此需要使用Hypothetical Indexes这种技术假设索引存在,在添加Hypothetical Indexes后,通过观察验证执行计划的变化,如添加免费主机域名的索引合符期望满足需求,则实际添加物理索引,因此有效的降低了试验的成本.Install
在Github上下载源码,放在contrib目录下,编译&安装创建extensionhypopg extension
首先创建测试表hypopg extension提供了8个函数:1.hypopg_create_index – 创建索引2.hypopg_drop_index – 删除索引3.hypopg_list_indexes – 列出索引信息4.hypopg_get_indexdef — 列出索引定义5.hypopg_reset_index — 删除索引6.hypopg_reset – 删除所有的索引7.hypopg – 列出索引原始信息8.hypopg_relation_size – 估算索引大小实际使用
在没有索引的情况下,执行查询PG使用顺序扫描创建Hypothetical Index : idx_t_hypopg_id,再次使用explain检查查询语句的执行计划:在不需要实际创建索引的情况下可以查看创建索引后的执行计划,这是Hypothetical Indexes的价值所在.
值得注意的是,如果explain使用analyze选项,则Hypothetical Indexes无效.“怎么使用PostgreSQL的Hypothetical Indexes”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注云技术网站,小编将为大家输出更多高质量的实用文章!
相关推荐: Innodb中为什么lock in share mode在show engine看不到行锁信息
这篇文章主要介绍“Innodb中为什么lock in share mode在show engine看不到行锁信息”,在日常操作中,相信很多人在Innodb中为什么lock in share mode在show engine看不到行锁信息问题上存在疑惑,小编查阅…