我想将当前的HUGE表分成多个表。应根据特定字段中的条目对新表进行拆分。
E.g。如果该字段为性别,每个记录选择为男性和女性,则id为两个表,一个为男性,另一个为女性。
Old table:
Gender First Name Last Name
Male John Smith
Female Sally Smith
New tables:
Name: Male
Gender First Name Last Name
Male John Smith
Name: Female
Gender First Name Last Name
Female Sally Smith
除了田地是城市。不是在代码中单独命名每个城市,而是像所有相同的城市一样被挑选并分组到单个表中。任何帮助将不胜感激。
答案 0 :(得分:1)
首先查询:
Insert into Table2 select * from Table1 where gender = 'female'
第二次查询:
Delete from Table1 where gender = 'female'
无论如何,我会做一些研究来了解你的案例是否真的需要表拆分,或者它是否只是增加了数据库结构(和相对代码)的复杂性
答案 1 :(得分:0)
您可以使用分区来完成所要求的内容。由于您使用的是MySQL,因此需要特别检查列表分区,因为它会根据指定的值对表进行分区。您仍然可以使用相同的查询,但数据库将自动使用基础正确的分区。