mysql怎么拆表,mysql改表

mysql一个表大量数据,现在要按分成多个表,怎么把数据分出来

一条语句没法实现的...

创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站建设、成都网站设计、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的红岗网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

create table table2 select * from table1 order by id limit 1,100

create table table3 select * from table1 order by id limit 100,100

create table table4 select * from table1 order by id limit 200,100

mysql数据库一表拆分多表

呵呵,这个还不好办么,你写的语句类似这个吧 我用C++语法给你写吧,希望能给你点提示

int a;

a=x_id%9

CString tbl_name

tbl_name="A_"+a;

CString Sql;

Sql="select * from" + tblname;

MySQL 对于大表,要怎么优化

1、做分区表,(哪个字段分区很重要,分错会影响性能)。

2、拆表,

可以将历史数据放到 其他表中,例如 abc表中,2013年的数据,拆到 abc_2013表中,2014年的数据拆到abc_2014表中。

MySQL拆表遇到的问题:相同用户的多条数据分布在拆前后的多个表中,需要类似GROUP BY的筛选效果~

SELECT MAX(login_time) AS login_time,user_id

FROM(

SELECT MAX(login_time) AS login_time,user_id FROM user_login_record GROUP BY user_id

UNION

SELECT MAX(login_time) AS login_time,user_id FROM user_login_record_20170101 GROUP BY user_id

UNION

SELECT MAX(login_time) AS login_time,user_id FROM user_login_record_20180101 GROUP BY user_id

)TMP GROUP BY user_id

MYSQL命令怎么实现将表中某个字段中多个记录拆分,急求答案!

觉得你还是应该用php去写。非要用mysql本身的话给个参考:

mysql select * from a;

+------+--------+------+----+

| id   | name   | num1 | bb |

+------+--------+------+----+

|    1 | a,     |    2 |  3 |

|    2 | b,c,   |    2 |  4 |

|    3 | d,e,f, |    2 |  5 |

+------+--------+------+----+

3 rows in set (0.00 sec)

mysql delimiter //

mysql create procedure `strsplit1`(in str3 varchar(2))

- begin

-  declare i int(10);

-  declare j int(10);

-  declare k int(10);

-  declare str1 varchar(100);

-         declare str4 varchar(1000);

-  declare str5 varchar(100);

-

-  select count(*) into i from a;

-  if i!=0 then

-          drop table if exists tmp_table1;

-          CREATE TEMPORARY TABLE tmp_table1 like a;

-  end if;

-

-  set j=0;

-  while ji do

-          select id,name into str1,str4 from a limit j,1;

-          select instr(str4,str3) into k from dual;

-          if k=0 then

-                  insert into tmp_table1(id,name) values(str1,str4);

-          end if;

-          while k!=0 do

-                  select substring_index(str4,str3,1) into str5 from dual;

-                  insert into tmp_table1(id,name) values(str1,str5);

-                  select mid(str4,k+1) into str4 from dual;

-                  select instr(str4,str3) into k from dual;

-          end while;

-  set j=j+1;

-  end while;

-

- select * from tmp_table1;

- end

- //

Query OK, 0 rows affected (0.00 sec)

mysql  delimiter ;

最后结果:

mysql call strsplit1(',');

+------+------+------+----+

| id   | name | num1 | bb |

+------+------+------+----+

|    1 | a    | NULL |  1 |

|    2 | b    | NULL |  2 |

|    2 | c    | NULL |  3 |

|    3 | d    | NULL |  4 |

|    3 | e    | NULL |  5 |

|    3 | f    | NULL |  6 |

+------+------+------+----+

6 rows in set (0.25 sec)

Query OK, 0 rows affected (0.30 sec)

mysql 单边300W数据是否建议拆表

三百万左右的数据,说大不大,说小也不小了。

这个数据量,做好索引的话,暂时还不需要拆表存储。

不过考虑以后还会有大量数据存入的话,你可以做一下拆表计划了。


文章名称:mysql怎么拆表,mysql改表
URL网址:http://scyanting.com/article/dsgisjj.html