
问题的关键是字段太多的表,不论是数据查询还是数据维护都很麻烦,不利于数据库的高效利用。因此除非是有特别合理的理由,否则建议将数据横向多字段存储方式,改为纵向存储。例如原来用12个字段记录每个月的产量,现在改为一个字段记录月份,一个字段记录产量,这样两个字段就可以了。
oracle数据库中,如果你的系统是一个比较大的系统,一个表的字段不能超过50-60个,否则会使速度极为下降。通过表的链接来实现关系型数据库,不会出现什么问题。表结构不能太复杂,不说别的绒余就多,处理起来太麻烦。还是简单点的好。
mysql最多可以多少个字段?答:1024个字段(一般可能没这么多)
mysql每行的数据长度最大是多少?
答:8092字节
mysql每个库最多可以有多少个表?
答:20亿个表
mysql的查询速度会被字段数量影响吗?有没有简单点的优化方案呢?
答:肯定会影响的的,不然就不会有垂直分表这一说了
实际上垂直分表不仅仅是把字段按数量分开,还要按类型分开
经常被显示的单独一个表.比如cms新闻系统的标题,摘要,所属分类,缩略图
这些字段不管是在首页的列表还是分类页的列表。是显示频率很高的。
并且这些字段的长度都是有一定的规律的。
基本上不会太长,所以单独一个表。
定长和不定长的字段尽可能的分开。比如文章的正文。
一般情况下在列表页是不会显示的。所以就没必要查询。
可以放到副表中去。
新闻系统的主表中,尽可能的只使用定长字段。比如int 或 char
如果只使用定长字段 速度会有明显的提升。
这是为什么呢?
因为mysql的数据储存在硬盘中,
查询的时候如果你告诉他每个数据的长度,
那么系统就会直接按照长度计算出数据的位置。所以快
如果其中有一列的数据长度是未知的。
系统只能一点点的去找。所以慢。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)