索引建立以前先建立表中索引須要的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(# );mysql
postgre建索引方法:sql
單字段索引:post
CREATE INDEX index_name ON company1 (name);優化
聯合索引:.net
CREATE INDEX index_name ON table_name (field1,field2);blog
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中的後兩種狀況,也是能夠利用到組合索引的。table
條件(部分)索引:select
CREATE INDEX index_name ON table_name (field1) WHERE field1 > 100;方法
注意:想要使用條件索引,在使用select語句時,where條件最好加上field>100(最少100)的條件,不然索引極可能利用不到。
https://blog.csdn.net/xh16319/article/details/12181169