我必须根据一个国家的州设计数据结构。 该国有30多个州,每个州都在编写和阅读自己州的数据。问题是我是否应该有一个分区表,它将由state_code分区或为每个状态制作不同的表?我正在使用PostgreSQL。我没有分区表的经验。每个州都会有大量数据。
数据将是这些村庄的每个地区,分区,村庄和学校的空间数据。
它还将包含每所学校中每个孩子的数据。这将是孩子的基本信息。
每个孩子都将进行筛选,根据大约30-40个参数,每个学生将被分类为他所面临的问题类别。
每个学生的健康问题相关数据也将在那里。这将包括行为问题和身体健康问题。
访问学校的卫生队也将被存储。例如,团队成员及其信息。
我想现在情况更清楚了。每个州将拥有超过100万行。
如果您期望对数据执行顺序扫描的查询,则按状态进行分区将是一个好主意 - 如果存在将查询限制为一个分区的WHERE
条件,则由于PostgreSQL的约束排除功能,它将变得更快。
如果要管理数据库中的用户和安全性,可以使用row level security来保证没有人看到来自不同状态的数据。这与约束排除很好地协作。