GP索引调优测试--基本篇
来源:互联网 发布:农村淘宝在哪里设置 编辑:程序博客网 时间:2024/06/03 19:40
- 简介
- 测试数据生成
- 无索引测试
- 测试1查找特定数据
- 测试2查找特定范围的语句
- 测试3排序测试
- 有索引测试
- 测试4查找特定数据
- 测试5查找特定范围的语句
- 测试6排序测试
- 总结
简介
以下是一些基本的,以体现索引功能的测试。
测试数据生成
以下参照PostgreSQL生成测试数据 进行。
创建表
CREATE TABLE test( id integer, test integer)WITH ( OIDS=FALSE);ALTER TABLE test OWNER TO postgres;
产生1500w个随机数(0-1000),插入到表中,
insert into test SELECT generate_series(1,15000000) as key, (random()*(10^3))::integer;
查看表的大小,大约为500MB。
无索引测试
测试1–查找特定数据
- 测试语句:
select count(*) from test where test=200
执行计划:
测试2–查找特定范围的语句
- 测试语句:
select * from test where test >= 800
执行计划:
测试3–排序测试
- 测试语句:
select * from test order by test
执行计划:
有索引测试
在test字段,创建索引,创建完成后索引大小约为300MB。
CREATE INDEX test6 ON test USING btree (test);
测试4–查找特定数据
- 测试语句:
select count(*) from test where test=200
执行计划:
仅需12ms,相比较未创建索引时的1.8s,有了极大提升。
测试5–查找特定范围的语句
- 测试语句:
select * from test where test >= 800
执行计划:
显示走了索引,耗时1.9s,与未创建索引所需2.0s相比,差别不大。
但调整测试语句:select * from test where test >= 200
,查看执行计划
并未走索引,是因为在返回记录过多的情况下,此时使用索引查取记录的开销(硬盘随机I/O)会很大,
所以仍然采用顺序浏览的方式获取记录。
测试6–排序测试
- 测试语句:
select * from test order by test
执行计划:
相比较未创建索引时的24s,此时采用索引后时间反而延长!
总结
- 对于查找特定条件的记录,使用索引后查询性能会大大提升
- 筛选条件的稍微改变,都有可能影响索引的使用,当返回数据量过多时,此时往往不会走索引
- 索引设置不当,可能反而延长查询时间
1 0
- GP索引调优测试--基本篇
- GP索引调优测试--排序篇
- GP索引调优测试--原理篇
- GP基本命令
- GP管理-基本语法
- GP DBA基本操作
- 测试创建GP外部表
- gp基础篇--优化
- GP建模、GP服务发布测试、GP服务客户端调用及GP工具中输出图层
- GP
- gp
- GP
- gp
- ArcGIS API for Silverlight 调用GP服务准备---GP模型建立、发布、测试
- ArcGIS API for Silverlight 调用GP服务准备---GP模型建立、发布、测试
- ArcGIS API for Silverlight 调用GP服务准备---GP模型建立、发布、测试
- gp借助类DBLINK访问oracle性能测试
- TIPTOP GP 正式区复制到测试区
- 走向程序员之路
- Fragment相关
- Leetcode 82 Remove Duplicates from Sorted List II
- 函数使用初体验
- 图像特征— —LBP特征
- GP索引调优测试--基本篇
- ssh 连接拒绝
- 王爽汇编第二版实验5
- effective stl 第32条:如果确实需要删除元素,则需要在remove之后调用erase
- Android开发艺术探索笔记 五到八章
- 本地存储,文件内容的拼接
- 北京赛区(2016)网络赛 题目1 : The Book List 【字典树】
- 共阴数码管显示1到15
- SoundPool的使用案例