大表建索引


大表直接建索引

数据量大的表,直接建索引会耗费非常多的时间,最好不要在高峰期执行。
非高峰期在大表建索引,也有可能无法在当天跑完。

大表建索引

可以先新建一张相同表结果的表,表里面没有数据,创建索引非常快,再把旧的大表数据复制到新表。

(1) 新建相同表结构的表:

create table tableB like tableA;

(2) 在新表创建索引:

create index idx_tableA_columnA on tableB(columnA);

(3) 从旧表导出插入数据的sql语句,再插入到新表中。
如果自己能直接连数据库, 导出插入数据的sql,就自己导出。
如果自己连不上数据库,就找DBA、项目负责人帮忙导sql。

insert into tableB  values ...

(4) 删除旧表, 删除之前最好先查询一下,别删除表了。

select * from tableA;

drop table tableA;

(5) 新的大表重命名:

rename table tableB to tableA

参考资料:

https://cloud.tencent.com/developer/article/1683999?ivk_sa=1024320u

原创文章,作者:306829225,如若转载,请注明出处:https://blog.ytso.com/278281.html

(0)
上一篇 2022年8月1日
下一篇 2022年8月1日

相关推荐

发表回复

登录后才能评论