暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
Postgresql之索引应用.doc
290
11页
4次
2021-12-22
5墨值下载
目录
执行计划介绍
索引介绍
不同的索引类型及适用场景
组合索引、条件索引、表达式索引
索引使用技巧
服务器
io
测试工具
-fio
数据库压测工具
-pgbench
快速构建海量数据
内容
1
执行计划介绍
数据库接受到查询
sql
时,会生成不同的查询树、查询方法、每种都得到相同的结果集
数据优化会根相应配置计算些查的消,然选择个效最高
询,即执行计划。
Explain
Explain [(option [,…])] statement
Explain[ANALYZE][VERBOSE] statement
Where option can be one of:
ANALYZE[boolean] ---
得到
statement
的真实运行时间,默认为
false
VERBOSE[boolean] ---
得到
statement
语句的执行计划和执行计划中的每一个节点的详细信
息,默认为
false
COSTS[boolean] ---
得到执行计划中每个节点的
cost,rows,width
的估算值,默认
true
2
索引
常用参数
Unique
创建唯一索引
Concurrently
在线创建索引,不会阻塞写操作
Using method
默认为
btree
Asc/desc
排序、默认升序
Nulls first/last
空值在索引中的位置,默认
null
放在最后
索引类型
Btree
支持:
< > = <= >= between…and… in
Hash
只支持等值查询。特别适用于字段
value
非常长(不适合
btree
索引,
btree
一个
page
至少要存储
3
ENTRY,
所以不支持特别长的
value
)的场景,例如很长的字符串,并且用户只需
要等值搜索,建议使用
hash index
gin
倒排索引,存储被索引字段的
value
value
的元素,以及行号的
list
或者
tree
gist
支持类型:几何类型(上下左右、包含、相交)
空间类型
ip
类型
标量类型
sp_gist
Brin
Rum
Bloom
Zombodb
在选择性较好的列上创建索引
同一个表避免创建多个索引
建议在关联的外键字段上创建索引
常见不走索引情况:
1
、数据类型不匹配、操作符不匹配
2
where
子句进行表达式或函数操作
3
like
的全模糊匹配(
btree
4
、数据占比
5
、表分析(
vacuum analyze
案例
:
Select t1.c1,t1.c2,t2.c3,t2.c4 from t1 left join t2 on t1.c1 = t2.c2
where t1.c2=’1’ and t2.c1 in (select c1 from t3 where t3.c1 = ‘2’)
服务器
io
测试工具
-fio
fio
安装:
https://git.kernel.dk/cgit/fio/
解压:
./configure
make
make install
适当安装插件:
of 11
5墨值下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜