10、PostgreSQL高级构建块详解

PostgreSQL高级构建块详解

索引相关

在PostgreSQL中,索引是提高查询性能的重要工具。但有些查询方式可能无法使用索引扫描,而索引扫描通常是更优的方法。
- 表达式索引 :当使用 lower(first_name) 函数时,由于函数值在执行前无法确定,所以无法使用索引。对于正则表达式,其可能匹配一个或多个值,也难以使用索引。为解决这些问题,可以在 lower() 函数上创建索引,示例如下:

CREATE index ON account(lower(first_name));
SELECT * FROM account WHERE lower(first_name) = 'foo';

表达式索引还可用于将一种数据类型转换为另一种数据类型来查找行。例如,孩子的出生信息可存储为时间戳,但我们通常只搜索出生日期而非具体时间。
- 唯一索引 :唯一索引能保证表中某行特定值在全表范围内的唯一性。在 account 表中, email 列有唯一检查约束,这通过唯一索引实现,可通过 \d 元命令查看:

car_portal=# \d account
                           Table "car_portal_app.account"
   Colum
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值