未指定 MySQL innoDB 索引存储类型

标签 mysql indexing mysql-workbench b-tree

我正在使用 MySQL Workbench 来管理我的数据库架构。我注意到如果我创建一个索引,会有一个索引选项部分。默认情况下,存储类型为空白, block 大小为 0。下拉菜单有 BTREE 和 RTREE 选项,但它允许我在不选择任何内容的情况下保存它。

由于我没有指定存储类型,所以它实际上是在正确保存索引吗?返回并更改表以使用 BTREE 会导致 MySQL Workbench 在重新索引表时挂起几分钟。所以我想知道不指定存储类型是否会导致索引无法正常工作。

最佳答案

All InnoDB indexes are B-trees where the index records are stored in the leaf pages of the tree. The default size of an index page is 16KB. When new records are inserted, InnoDB tries to leave 1/16 of the page free for future insertions and updates of the index records.

检查这些链接

关于未指定 MySQL innoDB 索引存储类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17532220/

相关文章:

java - 为什么在 JHipster 中创建 Spring Bean 时出现错误?

sql - SELECT * FROM table WHERE x IN (...几百个整数...)

mysql - PHP+MYSQL中排序查询性能

mysql - 通过 EC2 连接到 AWS MySQL?

mysql - 为什么在向数据库中插入数据时 `state` 不比 `my` 快?

php - 从数据库查询填充复选框

mysql - 两列上的 MySQL 主键是否有助于查询第二列?

mysql - 在创建索引时查询期间与 mysql 服务器失去连接,但之后仍然获取索引

mysql - 提高大表查询的性能?

c# - 使用 C# 构建的 Web 服务,用于从 mySQL 数据库中检索数据