批量索引的 SQL 脚本,挺适合那种表多、碎片高的老系统。用了游标把所有表撸了一遍,顺带自动重建索引,省得你一张一张手动搞,效率高多了。写法也不复杂,稍微改下库名就能用,挺实在的。
游标循环的方式,不算新鲜,但用在批量建索引上还挺方便。尤其是那种数据库一堆业务表的场景,像 ERP 系统、数据中台,合适。
写 SQL 脚本的时候注意下,最好加个条件排除视图、临时表,不然一顿操作猛如虎,结果报错一堆;另外索引重建这块,最好设个碎片率阈值,别什么表都重建,资源吃不消。
你要对类似技术感兴趣,下面几个文章还挺有参考价值的:
如果你维护的是那种表数量多、数据量也大的系统,建议脚本跑之前先测一把——看看执行时间和 IO 消耗,心里有个数。真要上线跑,晚上空档期搞,白天跑容易影响业务。