没有阅读仔细看过过mysql的源码,但是个人认为,对于数据这类文本操作,如果要提升速度的话,最好先把位置占住,不然每次都要移动这个数据以后的文件指针,而且如果有索引的话,还要重新去更新索引,但是这样缺点明显,占空间。

解决方案 »

  1.   

    应该视你定义的字段类型
    varchar,text应该是输入多少就占多少。。
    char的话,应该是你定义多长,就占多少。。个人意见
      

  2.   

    http://dev.mysql.com/doc/refman/5.1/zh/column-types.html#char
      

  3.   

    回复人:kingerq(多菜鸟) ( 两星(中级)) 信誉:110  2007-08-10 09:59:35  得分:0

    应该视你定义的字段类型
    varchar,text应该是输入多少就占多少。。
    char的话,应该是你定义多长,就占多少。。个人意见
      

  4.   

    得看类型!文档里字段类型都说了
    varchar.动态分配.就是varchar,text应该是输入多少就占多少。。
    char的话,你定义多长,就占多少。。
    所以现在数据库字段类型的时候都家一般都用varchar
      

  5.   

    varchar 的话 是变长的,而变长 的意义就在这儿,它会根据字符串的长度的不同占用不用的空间,而char则不同,它如果你的字符串长度没有达到其长度,则会自动补齐到你设定的长度,带来的效果就是  varchar 的话,位置的是不定的,而char 通过计算即可以直接找到,所以char 效率会比varchar效率高一些,但是varchar占用的空间会少一些,事实上,一般不需要考虑这么多,字符串长的就用varchar ,短的比如20个以下的直接用char就可以了。哈哈!
    个人意见!
      

  6.   

    varchar.动态分配.就是varchar,text应该是输入多少就占多少。。
    char的话,你定义多长,就占多少。
    -----------------------------------
    同意ldq210() 的说法
      

  7.   

    varchar要比实际长度+1
    char 占用定义长度
      

  8.   

    定长的字符适合用char比如md5过的密码字段,可以节省数据库存储空间
    长度变化范围大的字段可用varchar或其他类型