如何实现仅对部分数据构建索引?
2021-03-05 09:37
yzsDBA
关注
索引会占用比想象中的还要大的空间,有好几次我向表中添加索引以增加速度,但是对磁盘使用量的快速增长感到震惊。虽然索引是构建在列上,但是并不是每个行记录都需要在索引里面,这是部分索引partial indexes就提供了一个解决方案。
假设在电子商务应用程序的数据库中有一个很大的orders表,包含应用程序中指定的每种类型的订单数据,甚至包括那些未完成的订单。此时应用程序有一个搜索功能,可以根据orders表中的一列进行过滤,但是那些未完成的订单不需要在这个索引中。
创建部分索引时使用WHERE子句,使索引只包含符合条件的行。下面是一个简单示例:
CREATE INDEXorders_completed_user_id ON orders (user_id) WHERE completed IS TRUE;
诚然,在这样的场景中保持的数据量将会很少(user_id可能只是一个整数),但是对于文本列或多列索引,最终节省的磁盘空间将会很大。
声明:
本文由入驻维科号的作者撰写,观点仅代表作者本人,不代表OFweek立场。如有侵权或其他问题,请联系举报。
最新活动更多
-
12月12日火热报名中>>> STM32全球线上峰会
-
即日-12.18立即报名>>> 【在线会议】Automation1微纳精密运动控制系统
-
12月19日立即报名>> 【线下会议】OFweek 2024(第九届)物联网产业大会
-
即日-12.26立即报名>>> 【在线会议】村田用于AR/VR设计开发解决方案
-
1月8日火热报名中>> Allegro助力汽车电气化和底盘解决方案优化在线研讨会
-
即日-1.14火热报名中>> OFweek2025中国智造CIO在线峰会
推荐专题
发表评论
请输入评论内容...
请输入评论/评论长度6~500个字
暂无评论
暂无评论