为了账号安全,请及时绑定邮箱和手机立即绑定

MySQL 数据库表的数量很多会造成什么不良影响?

MySQL 数据库表的数量很多会造成什么不良影响?

弑天下 2019-03-29 22:11:29
最近在帮学校做一个问卷调查系统,目前存储问卷以及问卷结果是这样的:每新增一份问卷,数据库增加两个表,其中一个表用来存放这份问卷的信息,另一个表用来存放问卷结果信息之前没怎么接触过数据库,在做这个系统之前查了一些关于数据库的资料,看到有人说表的数量多不会影响查询速度,反而可能会因为你的数据存储结构更加有条理了而是查询更高效在这个系统运行了一段时间之后,我感觉上面这种说法好像不太靠谱,现在正在准备重新设计数据库的结构。在此之前我想问一下各位熟悉数据库的前辈:数据库表的数量像我刚刚描述的那样动态增加会有什么弊端?数据库的结构设计一般遵循什么样的规则?2014053017:10新增感谢各位的回答,大家的回答算是解答了我的疑惑,另外我想说明一下,我这个问题主要不是问我这个数据库该怎么设计,而是侧重于数据表太多会有什么样的结果。再次感谢各位的回答啦:P
查看完整描述

2 回答

?
一只名叫tom的猫

TA贡献1906条经验 获得超3个赞

别超过几百个表从性能上来说问题不大——个人浅见,无依据。
但是,如果你的每个表都只有几行数据,或者数据量不会增加的话,这种设计是对数据库表的误用,可以参考下面的方式优化:
建立问卷表和和结果表,这样总共就只有2个表了。
用json/xml或其他类似格式存储问卷和结果,因为不同问卷之间结构大多不同,用不到数据库表的查询特性
参考:
一个数据库中20万个表时mysql表现会怎么样?
MySQL中一个库中表数量是否有限制?表太多是否影响数据的性能?比如要把一张表拆成1024张,对于每个表的性能的影响是什么?这些影响需要考虑哪些因素?
网上还有很多讨论,可以自己去看。
总体来说,表太多了,一是文件系统效率会降低,二是维护难度增加。
建议你根据实际需求情况,如果一天最多一个调查,那么无论哪种方案都是能够承受的。
                            
查看完整回答
反对 回复 2019-03-29
?
缥缈止盈

TA贡献2041条经验 获得超4个赞

表基本上遵循我们常说的几个范式,但是不能一味的去遵循这个东西,因为从实际的实际来说,这些范式有时候反而会成为累赘!但是,也不是说不遵循,就是说我们在满足自己需求和保证系统性能的情况下,尽量去满足范式,毕竟前任总结的东西存在这么久,有其可取之处!
其次,数据库的表并非越多越好,在某种层面上说,表多确实反映了你数据库分的够细致,但是从你查询的层面上来说,你在查询的时候相应也就慢了,而且可能由于你的疏忽,产生很多的脏数据,但是如果为了保证数据的完整性,关联好像是好的选择,但是可以明确说,表的关联很影响数据库的性能,所以根据自己的要求,选取适合的才是最好的!……拙见勿喷!
                            
查看完整回答
反对 回复 2019-03-29
  • 2 回答
  • 0 关注
  • 385 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号