讨论下blog数据表分表的方法

有一张blog数据表,数据很多的话需要分表。
blog表的字段:
blog_id, user_id, content, created_at

如果按照blog_id来分表,访问某一个用户的所有blog,就要在N张blog表里查询。
如果按照user_id来分表,访问某一篇blog要查询N张blog表。

是否有更好的分表方法,能解决上面的问题呢?

2个表
1)blog_id, content,created_at

2)user_id,blog_id

可以不分表,建立分区表

可以,因为2个表就必须用数据连接,数据表连接最后会被优化,不能参与连接的记录将不会进入计算范围,你应尽量让尽可能少的记录参与最后的连接运算,这样速度会更快,让数据冗余就是一种加快数据访问速度的方法