《Greenplum企业应用实战》一3.5 索引

简介:

本节书摘来自华章出版社《Greenplum企业应用实战》一书中的第3章,第3.5节,作者 何勇 陈晓峰,更多章节内容可以访问云栖社区“华章计算机”公众号查看

3.5 索引

Greenplum支持B-tree、bitmap、函数索引等,在这里我们简单介绍一下B-tree索引:

testDB=# create table test_index_1 as select * from test_distribute_1;
SELECT 5000000

testDB=# select id,flag from test_index_1 where id=100;
 id  | flag 
-----+------
 100 |    0
(1 row)
Time: 2606.125 ms
AI 代码解读

接下来我们在flag字段上创建bitmap索引:

testDB=# CREATE INDEX test_index_1_idx ON test_index_1 (id);
CREATE INDEX
Time: 34997.881 ms
再次查看执行计划,采用了索引扫描,如下所示。
testDB=# explain select id,flag from test_index_1 where id=100;
                                  QUERY PLAN                                          
-------------------------------------------------------------------------------
 Gather Motion 1:1  (slice1; segments: 1)  (cost=0.00..200.84 rows=1 width=12)
   ->  Index Scan using test_index_1_idx on test_index_1  (cost=0.00..200.84 rows=1 width=12)
         Index Cond: id = 100
(3 rows)
AI 代码解读

建好索引后,再次执行上面的查询语句,有索引的情况下,用了23毫秒,相比未创建索引时2606毫秒,有了质的提升。
另外,表关联字段上的索引和appen-only压缩表上的索引都能带来较大的性能提升,虽然在数据库应用中,索引的应用场景不多,但是读者仍然可以结合实际的场景来运用索引。

相关文章
大数据-169 Elasticsearch 索引使用 与 架构概念 增删改查
大数据-169 Elasticsearch 索引使用 与 架构概念 增删改查
116 3
Greenplum应用最佳实践
Greenplum分布式分析数据库 通用操作的最佳实践。持续更新
1609 0
Greenplum应用最佳实践
《MongoDB管理与开发精要》——3.3节联合查询
本节书摘来自华章社区《MongoDB管理与开发精要》一书中的第3章,第3.3节联合查询,作者:红 丸,更多章节内容可以访问云栖社区“华章社区”公众号查看
1491 0
下一篇
oss创建bucket
目录
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等