MySQL外键分区

问题描述 投票:0回答:1

我在MySQL中有一个聊天数据库。

'用户表'>

用户ID(PK),用户名

'聊天'表

chat_id(PK),user1_id(FK),user2_id(FK)

“邮件”表

message_id(PK),chat_id(FK),user_from(FK),message_text,message_date

由于我希望在message表中具有数百万条记录,所以我想到了对其进行分区。这是一个好方法吗?在这里必须使用哪种类型的分区?我想如果我按chat_id进行分区,那么对于两个用户之间的每次聊天,我都会得到一个分区。实际上,结果是,每次都检索分区中的所有记录,因为它们都属于同一聊天。但是,这意味着如果我有100万个聊天,那么我将有100万个分区。但是,由于chat_id是外键,因此MySQL不允许按chat_id进行分区。

我在MySQL中有一个聊天数据库。 '用户'表user_id(PK),用户名'聊天'表chat_id(PK),user1_id(FK),user2_id(FK)'消息'表message_id(PK),chat_id(FK),user_from(FK),...

mysql database database-design database-partitioning
1个回答
0
投票

我认为您可以在聊天表

© www.soinside.com 2019 - 2024. All rights reserved.