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

mysql分表相关
是这样的,我一张表有230个字段(内容并倒是不多,不到2万条记录),对网页浏览速度影响太大了,最近考虑分表,
我对分表的理解是:把原本在一个表中的许多个字段拆分成两个或两个以上的表。
但是我看到网上的许多资料,分表不是拆分字段,而是把表里的内容分出来。

大伙儿说说我的理解是错的吗?

------解决方案--------------------
沙发 帮顶
------解决方案--------------------
其实两种方法没冲突的,看实际情况。

如果表里面的内容可以分类,例如:当天数据,历史数据,这样就是根据内容分表。

如果是明确的一对一、一对多结构,可以使用关系型数据来实现。

小弟拙见,勿见怪
------解决方案--------------------
探讨
是这样的,我一张表有230个字段(内容并倒是不多,不到2万条记录),对网页浏览速度影响太大了,最近考虑分表,
我对分表的理解是:把原本在一个表中的许多个字段拆分成两个或两个以上的表。
但是我看到网上的许多资料,分表不是拆分字段,而是把表里的内容分出来。

大伙儿说说我的理解是错的吗?

------解决方案--------------------
分表一般都是按内容,根据日期,id段。。来分表,业务端的sql语句要做相应改动。
一个表230个字段。。设计是不是出了严重问题?
------解决方案--------------------
1.分表有横向分(分字段)的,也有纵向分(分记录)的,无所谓,需要就行

2.230字段,2万多记录不算大,最好仔细测试分析一下,找到引起问题的具体地方(比如是否是个别sql造成),找到具体原因,做数据库结构修改也更有方向. 如果还不明确原因,修改之后可能见效不大.

3. 你这样的数据 
我们经常用的结构是:
id modelId attributeId value 
1 111 2233 3028

其中( 111->BMW 5系列 520Li , 2233->轴距 )

这样的方式记录数较多,但是结构简单. 而且增加,减少attribute也容易 (这些配置数据很多的,各家厂家提供的也不同,230以后也不一定够.)

我们公司也有汽车/摩托网站,数据都是用这种方式. 供参考.