PostgreSQL索引创建方法

原创
2019/09/11 18:21
阅读数 1.2W

索引创建之前先创建表中索引需要的ID
postgres=# CREATE TABLE COMPANY(
postgres(#    ID INT PRIMARY KEY     NOT NULL,
postgres(#    NAME           TEXT    NOT NULL,
postgres(#    AGE            INT     NOT NULL,
postgres(#    ADDRESS        CHAR(50),
postgres(#    SALARY         REAL
postgres(# );

 

postgre建索引方法:

单字段索引:

CREATE INDEX index_name ON company1 (name);

联合索引:

CREATE INDEX index_name ON table_name (field1,field2);

mysql的联合索引的使用,在select里的where条件是要求有序的,比如where field1=100和where field1=100 and field2=1000都可以利用到上面这个组合索引(多条件尽量不要用or,至少用UNION代替OR),但使用where field2=1000或where field2=1000 and field1=100就利用不到索引了。

在postgre里,postgre的查询规则器会自动优化和选择索引,所以,一般情况下,mysql中的后两种情况,也是可以利用到组合索引的。

 

条件(部分)索引:

CREATE INDEX index_name ON table_name (field1) WHERE field1 > 100;

注意:想要使用条件索引,在使用select语句时,where条件最好加上field>100(最少100)的条件,否则索引很可能利用不到。

 

 

https://blog.csdn.net/xh16319/article/details/12181169

 

 

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部