为神马?可以用varchar来替代text类型么?

解决方案 »

  1.   

    VARCHAR(M) [BINARY]变长字符串。M 表示最大列长度。M的范围是0到65,535。(VARCHAR的最大实际长度由最长的行的大小和使用的字符集确定。最大有效长度是65,532字节)
      

  2.   

    禁用text,对性能影响很大的。varchar(n) 0-65535
      

  3.   

    MYSQL 下VARCHAR可以到 65,535 字节,但一行记录的总长度不能超过65,535 
      

  4.   

    varchar是在页内部存储的,而text是在页内部存储20个字节的地址,通过地址寻址到blob页进行访问的,这样的话肯定会多一个IO的访问,所以如果没有必要的话,避免使用text。
    varchar也不是越大越好。varchar(M)M表示的是字符数,gbk是2个字节,utf8是3个字节。一行内存储的数据越少,页内包含的数据就越多,数据库可以缓存的数据就越多。
      

  5.   

    blob页是什么,和内部页有什么关系?