2 come on air come_on_air 于 2015.07.04 10:20 提问

mysql性能问题...............................

一个mysql数据表差不多200个字段,这会数据的存储和读取有影响么?如果对性能有比较大的影响,应该怎么改进?

6个回答

ZHUCEYE
ZHUCEYE   2015.07.04 11:48

虽然不会帮忙顶一下吧

frank_20080215
frank_20080215   2015.07.04 13:33

zh这字段也太多了,浪费和多空间。
请参照第一、二、三范式。这是数据库的基础

a975399405a
a975399405a   2015.07.04 13:53

推荐你看一下一个对并发数据库优化很有研究的人写的文章
http://www.360doc.com/content/12/0116/12/8674_179689611.shtml
下面是引用他写的一些内容:
1)把数据把某种逻辑来分类。
比如火车票的订票系统可以按各铁路局来分,可按各种车型分,可以按始发站分,可以按目的地分……,反正就是把一张表拆成多张有一样的字段但是不同种类的表,这样,这些表就可以存在不同的机器上以达到分担负载的目的。
2)把数据按字段分
也就是坚着分表。比如把一些不经常改的数据放在一个表里,经常改的数据放在另一个表里。把一张表变成1对1的关系,这样,你可
以减少表的字段个数,同样可以提升一定的性能。另外,字段多会造成一条记录的存储会被放到不同的页表里,这对于读写性能都有问题。
3)平均分表
因为前两种种方法是并不一定平均分均,可能某个种类的数据还是很多。所以,也有采用平均分配的方式,通过主键ID的范围来分表。
4)同一数据拆开存放
这个在上面数据镜像提过。也就是把同一商品的库存值分到不同的服务器上,比如有10000个库存,可以分到10台服务器上,一台上有1000个库存。然后负载均衡。

strutce
strutce   Ds   Rxr 2015.07.04 21:31

首先需考虑下范式能不能拆分下表,字段太多,当列表查询是有可能数据溢出

oyljerry
oyljerry   Ds   Rxr 2015.07.04 23:03

拆分一下表到多个子表,各个表之间用外键等关联起来。

sgj773624926
sgj773624926   2015.07.05 20:35

可以看下mysql的垂直分表

Csdn user default icon
上传中...
上传图片
插入图片