程序员的知识教程库

网站首页 > 教程分享 正文

索引让一系列最熟悉的SQL语句飞起来了

henian88 2024-10-25 11:52:12 教程分享 2 ℃ 0 评论


COUNT(*)统计语句是全表扫描,在建立有效的索引后,这些语句性能提高了几十倍。

对部分只取少量字段返回却又频繁操作的表建了这少量字段的联合索引,让查询语句不再回表,也让一些SQL语句快了好多倍。

有几张很大的分区表,并且每张都有几十个分区,都建立了局部索引。与这些分区表相关的语句有不少没写明分区条件,索引读时导致访问了几十个小索引。

将加上分区条件后依然等价的SQL语句都增加了分区条件,将无法利用上分区条件的局部索引更改为全局索引。结果现在和这些分区表有关的SQL语句的速度快了近百倍

在 MAX 取最大值的这列上建了一个索引。

在order by排序列上加索引。

某表的某列建有位图索引,而这一列是当前状态列,显然是会频繁更改的。位图索引不能用在频繁更新的场合,后续将这个位图索引去掉后,系统故障立即消失。

有一张表的插入速度比以前慢了近一倍!观察该表结构,该表居然有9个索引,比上个月多出了5个(之前的表结构有过记录),建议把索引还原成4个。删除索引后,插入的速度和上月基本一样。

某生产环境索引总数达到8000多个,而且数据库总体运行情况是索引更新方面的开销偏大,随后就开始监控这些索引。跟踪3个月后,昨天终于开始根据跟踪情况进行索引大整改,将3个月以来从未被使用过的索引全部删除,发现平时真正被SQL语句使用到的索引,居然只有1000多个。现在系统的索引大幅度减少,更新比以前轻快多了,因为更新表的同时是需要更新索引的。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表