相关疑难解决方法(0)

为什么 InnoDB 将所有数据库存储在一个文件中?

MyISAM 用于将每个表存储在相应的文件中很方便。InnoDB 在很多方面都取得了进步,但我想知道为什么 InnoDB 将所有数据库存储在一个文件中(ibdata1默认情况下)。

我知道 InnoDB 将通过表的单个索引文件映射文件中数据的位置,但我不明白为什么它将所有数据混合在一个文件中。更重要的是,为什么要混合服务器上所有数据库的数据?

MyISAM 的一个有趣功能是,可以将数据库文件夹复制/粘贴到另一台机器上,然后使用该数据库(无需转储)。

mysql innodb myisam mysqldump mysql-5.5

56
推荐指数
3
解决办法
7万
查看次数

建议使用 innodb_file_per_table 吗?

我们有一个应用程序,其中只有一个表将增长到数百万行,而其余的将略低于一百万行。那么我们应该使用 innodb_file_per_table 还是保留一个 .ibd 的建议是什么?我读过一些文章说不要使用它,因为在执行连接时您需要更多磁盘访问权限?为了报告生成目的,我们将在此表和其他表之间进行连接。

mysql innodb

19
推荐指数
2
解决办法
2万
查看次数

InnoDB - ibdata1 文件和 ib_logfile0 上的高磁盘写入 I/O

服务器规格:具有以下信息的 VPS

model name  : Intel(R) Xeon(R) CPU           E5649  @ 2.53GHz
MemTotal:      2058776 kB
MemFree:        244436 kB
Run Code Online (Sandbox Code Playgroud)

我们正在运行来自 Invision Power Services 的 IP.Board,我们正在使用 innodb_file_per_table并重新加载数据库以减少 ibdata1 大小。但是,尽管减小了ibdata1尺寸,但我们最近仍然遇到了 CPU 和 I/O 使用率高的问题。

根据我的检查,我认为它是由ibdata1. 下面是我使用pt-ioprofile -cell sizes(在 Percona ToolKit 中)获得的数据。基本上,它是在 30 秒内收集的总 I/O 量。

# pt-ioprofile -cell sizes
Fri Jul 20 10:22:23 ICT 2012
Tracing process ID 8581
     total      pread       read     pwrite      fsync       open      close   getdents      lseek      fcntl filename
   6995968          0          0    6995968          0          0          0 …
Run Code Online (Sandbox Code Playgroud)

mysql innodb

8
推荐指数
1
解决办法
2万
查看次数

MySQL InnoDB 中表的预定优化

在 MySQL InnoDB 数据库中安排表的自动优化的最佳方法是什么?例如,我可以使用事件吗?我最近遇到了一个很大的性能问题(在查询时),其中一个表实际上是我数据库中最大的表,并且经常更新。我在表上运行OPTIMIZE后,问题就解决了。

mysql innodb optimization

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

标签 统计

innodb ×4

mysql ×4

myisam ×1

mysql-5.5 ×1

mysqldump ×1

optimization ×1