各位大神,请教一个问题,请不吝指教:
有一个条目很多的表tblx,其中一个字段(暂称为cola)有三种取值(1,2,3),现想按照cola的取值进行分拆为三张表,求一个速率快点的方法,试过以下方法:
使用简单地选择语句,将选择结果分别存储到3张新表中如下:
select * from tblx where cola = 1;
select * from tblx where cola = 2;
select * from tblx where cola = 3;
虽然上面的方法可行,但是想优化一下,于是尝试以下操作:
-》使用group by语句:
对表格按照cola列执行group by操作,会一次将表按照cola进行分组,从而得到需要的3张分拆的表。但是不知道是否有语句可以将group by后的三个分组输出出来?-》使用case语句:
我理解,mysql在执行select * from tblx where cola = 1;时已经对于整个表的每个条目进行了遍历,可否有类似于C中的switch..case结构的语句,在遍历每个条目时,基于cola的取值将相应的条目输出到不同的分表中,当遍历完一次表格后,整个表也就完成了需要的三张分表的分拆。我自己对于想尝试的两种操作都没有找到正确的操作代码,求论坛里面的大神指教一下是否可行,如果可行的话,还求给出示例代码,先谢过。