【问题标题】:MySQL myisam dynamic tables and CHAR typesMySQL myisam 动态表和 CHAR 类型
【发布时间】:2011-02-16 08:32:14
【问题描述】:

从我收集到的 MySQL 手册中,当 myisam 表中有 VARCHAR 列时,将使用动态存储格式。但是,我不清楚动态格式的 CHAR 列是否会像 VARCHAR 一样被处理,或者它是否仍然是固定大小(并获得与之相关的性能优势)?

我记得一些数据库讲座是,可变长度数据通常附加在行的固定长度数据的末尾。固定长度数据的一部分将是每个 VARCHAR 指向该数据的指针。但也许 myisam 不是这样工作的。所以我的问题是:CHAR 会使用这样的指针还是存储在固定的偏移量处以便快速访问它?

【问题讨论】:

    标签: mysql dynamic char myisam


    【解决方案1】:

    会固定为你创建表时声明的长度 -> MySQL dynamic format

    也检查这个问题MySQL Row Format: Difference between fixed and dynamic?

    【讨论】:

    • 固定是什么意思?也许我不完全理解 myisam 格式,但我从一些数据库讲座中记得,可变长度字段通常使用行尾的指针存储。那么问题来了:char 会使用这样的指针还是存储在固定的偏移量处?
    • 固定是指为该列保留一个固定长度的位置。该列具有固定长度,MySQL 知道这一点。例如,如果它是 VARCHAR,则行中的列将具有浮动/可变长度,具体取决于其中的内容。
    猜你喜欢
    • 2014-03-23
    • 2014-10-30
    • 2012-01-13
    • 2011-05-05
    • 2010-12-29
    • 1970-01-01
    • 1970-01-01
    • 2012-03-01
    • 1970-01-01
    相关资源
    最近更新 更多