问题标签 [innodb]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
1229 浏览

mysql - 从 MyISAM 更改为 InnoDB 时是否有任何陷阱/需要知道的事情

我的一个项目在 MySQL 中使用了 MyISAM 引擎,但我正在考虑将其更改为 InnoDB,因为我需要在这里和那里的事务支持。

  • 在执行此操作之前,我应该查看或考虑什么?
  • 我可以只更改引擎,还是应该为此准备数据?
0 投票
7 回答
169332 浏览

mysql - 如何修复 InnoDB 表?

昨晚(显然)我们的 Solaris MySQL 数据库引擎执行不佳。至少有一些 InnoDB 表已损坏,事务日志中出现时间戳乱序错误,以及有关索引已损坏的特定错误。

我们知道可用于 MyISAM 表修复的工具,但找不到任何适用于 InnoDB 的工具。

旁注:尝试表优化(在我尝试重建损坏的索引时)会导致数据库服务器崩溃。

0 投票
1 回答
6406 浏览

mysql - MySQL MyISAM 和 innoDB 内存使用情况

有谁知道 MyISAM 和 innoDB 使用了多少内存?处理小表与处理大表(最大 32 GB)时,它们的内存使用情况如何比较?

我知道 innoDB 比 MyISAM 更重,但还有多少呢?

任何帮助,将不胜感激。

谢谢,jb

0 投票
12 回答
18110 浏览

mysql - MySql:MyISAM 与 Inno DB!

MySql 中的 MyISAM 和 Inno DB 类型有什么区别?

0 投票
3 回答
27144 浏览

mysql - Mysql InnoDB 操作系统错误号 32 在 Windows 上的文件操作中

从几天前开始,我的 Windows 机器上的 MySQL 服务器没有成功关闭自己。我在 MySQL 错误日志中发现了这些行的多个实例:

我有很多可用空间,服务器安装了几个月,版本是Windows XP SP3上的5.1.22-rc-community-log,并且我只使用一个Windows帐户来创建和执行MySQL服务。

按照 Greg 的回答,我发现ProcessExplorer有另一个 MySQL 服务以不同的名称运行。我杀了它,一切都运行良好。

0 投票
3 回答
3688 浏览

mysql - 设置 innodb_log_file_size 会使 MySQL 崩溃

所以,我希望能够将最大日志文件大小设置为 64M,但是在innodb_log_file_size=64MMySQL 启动后这样做可以正常工作,但似乎没有任何工作正常。

编辑:我的意思是完全没有。设置其他 InnoDB 变量不会导致任何问题。

我应该如何解决这个问题?

0 投票
14 回答
118044 浏览

mysql - INT 和 VARCHAR 主键之间是否存在真正的性能差异?

在 MySQL 中使用 INT 与 VARCHAR 作为主键之间是否存在可测量的性能差异?我想使用 VARCHAR 作为参考列表的主键(想想美国各州、国家/地区代码),并且同事不会将 INT AUTO_INCREMENT 作为所有表的主键。

我的论点,正如这里详述的那样,是 INT 和 VARCHAR 之间的性能差异可以忽略不计,因为每个 INT 外键引用都需要一个 JOIN 来理解引用,一个 VARCHAR 键将直接呈现信息。

那么,是否有人对这个特定的用例以及与之相关的性能问题有经验?

0 投票
3 回答
22324 浏览

mysql - MySQL(InnoDB):需要删除列,以及伴随的外键约束和索引

这是我的桌子:

我想删除 column photo_id,这可能还需要删除外键约束和索引。

问题是当我尝试删除列时出现错误:

...当我尝试删除索引(与上面相同)时,以及当我尝试删除外键约束时:

我应该按照什么顺序进行所有这些操作?我应该使用什么精确的命令?

0 投票
1 回答
1933 浏览

mysql - MySQL 为什么要在 InnoDB 表中添加注释?

使用 phpMyAdmin 或 MySQL GUI 工具时,每当我创建 InnoDB 表时,它都会向表中添加如下注释:

免费 InnoDB:9216 kB

这是什么意思?它是干什么用的?

0 投票
10 回答
41860 浏览

mysql - 外键在 MySQL 中不起作用:为什么我可以插入一个不在外列中的值?

我在 MySQL 中创建了一个表:

这创建了我想要的表(尽管“DESCRIBE actions;”命令显示外键是 MUL 类型的键,我不确定这意味着什么)。但是,当我尝试输入 questions 或 users 表中不存在的 Q_id 或 U_id 时,MySQL 仍然允许这些值。

我做错了什么?如何防止具有外键的表接受无效数据?

更新 1

如果我添加TYPE=InnoDB到最后,我会收到一个错误:

错误 1005 (HY000): 无法创建表 './quotes/actions.frm' (errno: 150)

为什么会发生这种情况?

更新 2

有人告诉我,用功能外键强制数据完整性很重要,而且 InnoDB 不应该与 MySQL 一起使用。你有什么建议吗?