建议使用第二个.另:不是两个数据库,是两个表.题干表 
试题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.   

    我觉得还是方案1比较好。虽然会有一些null数据,但是查询速度能快一点。
      

  2.   

    顶老乌龟的~第二种方案具有更好的柔韧性。第一种方案的缺点如下:
    1.设计表时,得确定可能的最大备选项数。但将来有可能有更大的项数,这时就得更改表结构,而这种改动往往让人望而却步。
    2.由于必须按最大项数作为列数,造成表内数据密度较低,利用率很差,因此是不合理的设计。另外,
    方便性的问题,可以通过建立相关视图来简化操作;
    可维护性的问题,分开设计有时可能更利于数据的维护;
    性能的问题,如大乌龟所说的,建立恰当的索引和书写规范的sql语句,性能上是没问题的。