相关疑难解决方法(0)

在固定大小的字段上使用 CHAR 与 VARCHAR 对性能有何影响?

我有一个存储 MD5 哈希的索引列。因此,该列将始终存储 32 个字符的值。无论出于何种原因,它都是作为 varchar 而不是 char 创建的。迁移数据库以将其转换为字符是否值得?这是在带有 InnoDB 的 MySQL 5.0 中。

mysql innodb performance varchar

66
推荐指数
3
解决办法
8万
查看次数

InnoDB 主键效率

我已经阅读了许多关于取决于存储引擎的主键效率的文章,但我很困惑。

给定一个简单的多对多表,其中包含两个字段storeIdzoneId以下哪种设计对 InnoDB 最有效,为什么?

  • 使用两个字段作为复合主键:
CREATE TABLE store_zone(
    storeId INT(10) UNSIGNED NOT NULL,
    zoneId  INT(10) UNSIGNED NOT NULL,
    PRIMARY KEY(storeId, zoneId)
);
Run Code Online (Sandbox Code Playgroud)
  • 使用特定的自增主键:
CREATE TABLE store_zone(
    id      INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
    storeId INT(10) UNSIGNED NOT NULL,
    zoneId  INT(10) UNSIGNED NOT NULL,
    PRIMARY KEY(id),
    UNIQUE KEY(storeId, zoneId)
);
Run Code Online (Sandbox Code Playgroud)

笔记:

  • 无论如何storeId,我需要 ( , zoneId) 对上的唯一键
  • 我有外键的storezone桌子,在这里没有显示可读性,所以在这两种情况下有上一个额外的要求指标zoneId,以及

mysql innodb

5
推荐指数
1
解决办法
1403
查看次数

提案:MySQL blob 处理修订版

为什么 MySQL 将 blob 存储在直接表中而不是放在一边,以便如果它需要读取相应的内容,它将读取到一边的内容?本质上,它会创建自己的文件,该文件在文件文件夹类型的体系结构中不受除自身之外的所有内容的影响,以便更容易/更快地写出 blob 链接。

mysql storage blob

1
推荐指数
1
解决办法
124
查看次数

标签 统计

mysql ×3

innodb ×2

blob ×1

performance ×1

storage ×1

varchar ×1