由于单表数据已经达到2000万数据,所以想分表,请大家指点一下

love19835 2014-07-16 03:03:34
由于单表数据已经达到2000万数据,所以想分表,现假如分1000万为一单表,例有如一两个表:

表a:
id title
1 张三
2 李四
............
表b:
id title
3 王五
4 赵六
.............

表a和表b的结构是一样的,其中id为主键int型,title为varchar型字符串
现在的问题请教大家第一这样分表合理吗?其它因为数据是分在不同的表当中的,所以有时候需要同时查

询两个表,现有如下一个查询请教大家如何写才能效率高,并一次查询出来呢?

需要:需要一次性查询出来id=1,2,4的行记录,请问大家如何写才能效率高呢?

select * from a as a,b as b where a.id in(1,2,4) or b.id in(1,2,4);

我像上面这样查询的,但是不对一下查询出来了四列,而且有重复请大家指教



...全文
275 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ComBat_Func 2014-07-16
  • 打赏
  • 举报
回复
如果分表对你的应用不会产生影响,那就用重新将数据分割,进行物理分表; 使用merge分表是一个很不错的选择; 分表后再进行分区,因为你有唯一的id,可以考虑使用hash或key分区; 楼主2000W的时候费点力气分一下,别等数据大了更难搞了! 分它10个表,每个表再分它10个区!哈哈
ACMAIN_CHM 2014-07-16
  • 打赏
  • 举报
回复
尝试一下MYSQL的分区表。
rucypli 2014-07-16
  • 打赏
  • 举报
回复
不建议分表,如果非要分 那就试试分区

57,062

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧