数据库表里内容太多,查询太慢?不要急,两行数据库命令,轻松把表拆分。
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字段来读取数据