我有一个现有的mysql
数据库,负责管理50个州的法规。当前的设置是关系型的 - 对于50个州中的每一个都有三个表:
state_table
包含章节/子章节标题
item_table
包含结束记录
department_table
包含与两者相关的ID。
所有组合它处理大约620,000条记录
我不是数据库设计专家,并且一直使用这个原样并且已经得到了所有50个州的表的性质限制了在所有州等地的搜索。我想知道是否有更好的方法
我想知道我是否应该考虑将它组合成一组3个关系表,用于整个国家,甚至是一个表来处理所有事情。
我在其他论坛上已经问过这个问题并被告知阅读各种数据库架构和结构等等。所以如果有人可以建议进入的方向以及我所拥有的专业人员和骗局那个很棒的选择!
谢谢!
这就是它的方式,X 50
阿拉巴马
ID
名称
国家
亲 说明
alabama_department
部门 - 身份证来自“阿拉巴马州”
项目 - ID来自“alabama_item”
alabama_item
ID
名称
说明
关键词
DOC_ID
EFFECTIVE_DATE
... ......
查询:我通过链接逐步完成章节/子章节/结束记录的层次结构这很好用,但我开始更多地关注搜索功能,并且还在思考我的内容是否过度,听起来像是一个你们两个都这么认为(矫枉过正)
答案 0 :(得分:4)
如果我认为你有150张桌子(3 * 50个州),那么:
您应该有一个'状态'表,其中包含stateID
和stateName
。然后使用ONE表用于章节/子章节,ONE用于部门,ONE用于结束记录,并使用stateID
将不同记录与状态相关联。
你应该不每个状态有3个表,你可以使用其中一个表,只关联一个状态表。这将带您到四个表而不是150个。