为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:8.0
【操作系统】:
【CPU】:
【问题描述】*:select * FROM t_ext_field_biz_info WHERE biz_id = ?1 and biz_type = ?2 and tenant_id = ?3"
回答 0
暂无回答
Foden47
建议选择组合索引,例如:
CREATE INDEX idx_t_ext_field_biz_info_bizid_type_tenant
ON t_ext_field_biz_info (biz_id, biz_type, tenant_id);
建议选择组合索引,例如:
CREATE INDEX idx_t_ext_field_biz_info_bizid_type_tenant
ON t_ext_field_biz_info (biz_id, biz_type, tenant_id);
组合索引支持多列的等值过滤条件,效率比单列索引更高。
顺序建议是:查询条件中最具过滤性的列放在前(一般是区分度高的列)。如果不确定,可以参考以下规则:
数据分布稀疏的列放在前面(如 biz_id)。
查询条件中始终出现的列靠前。
ps.同时确保 biz_id、biz_type 和 tenant_id 的分布具有良好的过滤性。如果某列的值高度集中(例如 tenant_id 只有 2 个值),索引效果可能有限。
pps.确保数据库表的统计信息是最新的