COUNT(DISTINCT 列)/COUNT(*)计算区分度,值越高越适合索引。CREATE INDEX idx_name ON products(name(10)))。index(a,b)与index(a)存在冗余,但index(a,b)与index(b)不冗余。定期清理未使用的索引。SELECT a,b FROM table WHERE a=1 AND b=2,若(a,b)是复合索引,则无需访问数据页)。(date, amount)可使SELECT * FROM sales WHERE date BETWEEN '2023-01-01' AND '2023-12-31' ORDER BY date ASC, amount DESC免排序。INDEX(status, category)可用于WHERE category='electronics' AND status IN ('new', 'refurbished'))。WHERE YEAR(create_time)=2024)或运算(如WHERE price+10>100),会导致索引失效。建议改为WHERE create_time BETWEEN '2024-01-01' AND '2024-12-31'。>, <, BETWEEN, LIKE '%xx')后的列无法使用索引。例如WHERE a>1 AND b=2,仅能使用a的索引。RANGE LEFT分区),减少查询扫描的数据量,同时降低锁争用。例如订单表按order_date分区。REBUILD或REORGANIZE操作(如SQL Server的ALTER INDEX REBUILD,Oracle的ALTER INDEX COALESCE)。V$OBJECT_USAGE)监控索引的使用频率,及时删除未使用的索引。UPDATE STATISTICS,Oracle的DBMS_STATS.GATHER_TABLE_STATS)。免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。