首页 > 数据库技术 > 详细

PostgreSQL数据库一些tricks

时间:2019-10-08 23:03:40      阅读:129      评论:0      收藏:0      [点我收藏+]

PostgreSQL自带Pgadmin客户端,可用于访问本地和远程PG库,一些tricks如下:

1、联合查询

SELECT * FROM table1 INNER JOIN table2 ON table1.id=table2.id

# 其中table1,table2还可以分别用SQL选择如

SELECT * FROM (SELECT * FROM table1 where num1=2 limit 10 offset 0) a INNER JOIN (SELECT * FROM  table2 where num2=4) b ON a.id=b.id

2、索引

# 查看pg库某表table1是否使用索引

SELECT * FROM pg_indexes WHERE tablename=table1

# 对table1的某一列或者几列创建索引

CREATE INDEX table1_index ON table1(num1, num2)  # table_index为建立的索引名称

# 删除索引

DROP INDEX table1_index

 2.1 复合索引

多列复合索引的创建建议:

  1、离散查询条件(例如 等值)的列放在最前面,如果一个复合查询中有多个等值查询的列,尽量将选择性好(count(distinct) 值多的)的放在前面。

  2、离散查询条件(例如 多值)的列放在后面,如果一个复合查询中有多个多值查询的列,尽量将选择性好(count(distinct) 值多的)的放在前面。

  3、连续查询条件(例如 范围查询)的列放在最后面,如果一个复合查询中有多个多值查询的列,尽量将输入范围条件返回结果集少的列放前面,提高筛选效率(同时也减少索引扫描的范围)。

  4、如果返回的结果集非常大(或者说条件命中率很高),并且属于流式返回(或需要高效率优先返回前面几条记录),同时有排序输出的需求。建议按排序键建立索引。

PostgreSQL数据库一些tricks

原文:https://www.cnblogs.com/zongfa/p/11638263.html

(1)
(1)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!