table : mytable
字段:
t_id   : mediumint(8) unsigned auto_increment
t_topic: varchar(200) not null defalut ''
t_type : char(1)
t_url  : varchar(200) null
t_text : text         null当 t_type = '1', t_url = null
当 t_type = '0', t_text = null想知道, 当数据量比较大, 例如几万甚至几十万条的时候数据的容量和检索时候的效率会不会有很大的影响?有没有更好的方法来实现或者规划这个数据表的结构?环境 : php + mysql

解决方案 »

  1.   

    可能某些情况下会对t_text或者url进行检索, 大部分只对t_topic进行,如果数据量比较大, 差不多会有一半的数据t_text = null, 一般数据 t_url = null这种情况下, 使用这样的表结构设计是否合理? 是否有更优的设计方式一般来说, 也可以分成两个表来检索, 但是这样碰到经常对t_topic进行联合检索的话,涉及到分页和效率, 这些方面, 高手是否有些优化建议?
      

  2.   

    如果你的t_text字段有一半的数据是NULL ,那你干脆换成整型,比如0.这样检索可以用到索引。因为NULL 列是用不到索引的 。其他的是一个道理!