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

解决方案 »

  1.   

    分表一般都是按内容,根据日期,id段。。来分表,业务端的sql语句要做相应改动。
    一个表230个字段。。设计是不是出了严重问题?
      

  2.   

    实不相瞒,小弟正做一个汽车企业网,由于汽车的配置和参数太多了(比如,安装这个参数配置设定字段:http://data.feelcars.com/view/trimparam-30892-1.html),再加上其他的字段,差不多有230个字段。
    大家看看是不是我架构设计得有问题,每一个配置和参数我都设定了独立的字段,才弄得这么多字段,不仅反映速度慢,我发现和我的内存溢出也有关系(内存溢出非常严重)。
    我现在在开始分表,经常用的30左右的字段分成一个,其次30个左右分成一个,剩下的最不常用一百多个字段分在第三个表里。
    恳请大伙儿发表下意见,谢谢。
      

  3.   

    1.分表有横向分(分字段)的,也有纵向分(分记录)的,无所谓,需要就行2.230字段,2万多记录不算大,最好仔细测试分析一下,找到引起问题的具体地方(比如是否是个别sql造成),找到具体原因,做数据库结构修改也更有方向. 如果还不明确原因,修改之后可能见效不大.3. 你这样的数据 
    我们经常用的结构是:
    id  modelId  attributeId  value 
    1   111       2233         3028其中( 111->BMW 5系列 520Li , 2233->轴距 )这样的方式记录数较多,但是结构简单. 而且增加,减少attribute也容易 (这些配置数据很多的,各家厂家提供的也不同,230以后也不一定够.)我们公司也有汽车/摩托网站,数据都是用这种方式. 供参考.
      

  4.   

    恩,受教了
    其实对于我这样的情况,其实函数serialize可以帮到很大的忙,也算是解决这个问题的最好办法了。