建议使用第二个.另:不是两个数据库,是两个表.题干表
试题ID 题目内容
1 3+2=?
2 2+2=?
备选项表
id 试题ID 备选项
001 1 1
002 1 2
003 1 3
004 1 4
005 1 5
006 2 2
007 2 3
008 2 4 对这两个表.
题干表
试题ID (加索引,或设置为主键.)备选项表
id (设置为主键)
试题ID (设置索引)
备选项 从你的描述来看,10万个题,一个题目最多6个选择,也就60多万,不超过100万,应该是没有问题的.
不建议使用第一种方案.
试题ID 题目内容
1 3+2=?
2 2+2=?
备选项表
id 试题ID 备选项
001 1 1
002 1 2
003 1 3
004 1 4
005 1 5
006 2 2
007 2 3
008 2 4 对这两个表.
题干表
试题ID (加索引,或设置为主键.)备选项表
id (设置为主键)
试题ID (设置索引)
备选项 从你的描述来看,10万个题,一个题目最多6个选择,也就60多万,不超过100万,应该是没有问题的.
不建议使用第一种方案.
1.设计表时,得确定可能的最大备选项数。但将来有可能有更大的项数,这时就得更改表结构,而这种改动往往让人望而却步。
2.由于必须按最大项数作为列数,造成表内数据密度较低,利用率很差,因此是不合理的设计。另外,
方便性的问题,可以通过建立相关视图来简化操作;
可维护性的问题,分开设计有时可能更利于数据的维护;
性能的问题,如大乌龟所说的,建立恰当的索引和书写规范的sql语句,性能上是没问题的。