Mysql数据库拆表操作

数据库表里内容太多,查询太慢?不要急,两行数据库命令,轻松把表拆分。

CREATE TABLE tabA LIKE tab;
INSERT INTO tabA SELECT * FROM tab LIMIT 0,20;
CREATE TABLE tabB LIKE tab;
INSERT INTO tabB SELECT * FROM tab LIMIT 20,10;

介绍一下数据库背景,当前数据大表tab需要被拆,拆成tabA和tabB等等后面自行添加,limit后面的两个参数,一个是起始位置,一个是间隔,即执行第一个insert操作后会有20行数据受到影响,第二个insert会有10行数据收到影响。

这个命令适合有主键的表格,如果没有主键,需要修改命令。

CREATE TABLE tabA LIKE tab;
INSERT INTO tabA SELECT * FROM tab order by LIMIT 0,20;

笔者2021/04/20 更新:mysql语句中的limit关键字会将数据库表全select出来之后再截取,就意味着,会消耗大量的内存,对于数据量非常大的表(千万级以上),建议使用between and字段来读取数据

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值