日期:2014-05-17  浏览次数:20509 次

数据结构的改变与查询效率问题
我有一个表project,如下结构
project_id,......,phone1,phone2,phone3.....phone10

这人结构的缺点是只能放10个电话号码,如果要添加超过10个电话号码就得增加字段,没有可扩展性

现在我加了一个表叫project_contact,结构如下
project_contact_id,project_id,phone

这样一个project可以有N个电话号码,数量不限

就是不知道这样改当数量量很大时,查询project_contact的效率比原来的是不是会差很多!

------解决方案--------------------
效率不会差。反而可能会更好。而且更灵活。就是可能查询后要做下转换。
------解决方案--------------------
效率不会差.加上索引后效率更高
------解决方案--------------------
正常设计,为了增加扩展性不会扩展字段的,都是纵向扩展
你这个可以的话,直接p_id,phone给两个字段设置联合主键或唯一键就可以了

综合考虑当然是现在修改后的结构好了
------解决方案--------------------
你这个设计还算合理。不过现实生活好像也没多少个人有那么多电话吧。不过这个不是重点。表关联其实很快的,前提是设计得到,查询的时候索引能用上,数据又没什么异常,基本上几十万数据都能秒杀,除非你大范围查找。