PostgreSQL 索引创建方法

单字段索引:
CREATE INDEX index_name ON table_name (field1);

联合索引:
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)的条件,否则索引很可能利用不到。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。