有数据表t_order_info如下:order_id varchar20 订单号product_id varchar20 商品号product_type varchar10 商品类型编码user_id varchar20 用户号channel_id varchar1 购买渠道1app2小程序price number36 价格现有需求查询用户通过app渠道购买的某一商品类型所有订单现增加索引如下:
以上方案的问题:
-
索引包含了channel_id、product_type和user_id三个字段,虽然能够满足当前查询需求,但对于其他查询场景可能会出现索引冗余或不够优化的情况。
-
索引的顺序为channel_id、product_type和user_id,如果查询条件中只有其中某些字段,则索引不能被充分利用,导致查询速度降低。
-
索引的长度可能会较长,对于大量数据的表来说,会占用较多的存储空间。
-
如果表中的数据发生变化,如插入、更新或删除操作,需要额外的时间和空间来维护索引,降低了数据修改的效率。
原文地址: https://www.cveoy.top/t/topic/gZsi 著作权归作者所有。请勿转载和采集!