问题标签 [storage-engines]

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 投票
1 回答
514 浏览

mysql - 非聚集索引会创建一个单独的文件来存储其数据吗?

我对聚集索引和非聚集索引感到非常困惑,今天我花了将近 5 个小时来澄清我的疑问,但我仍然无法找到以下问题的答案:

1- 聚集索引以索引顺序物理存储在表中。

问题: 1.A. 这里的物理意义是什么?1.B。是在系统上创建了一个单独的文件,还是数据按排序顺序存储在表本身中?

2- 一张表只能创建一个簇索引。

问题: 2.A . 这是否意味着当我们在两列上创建索引时,它会自动变为非聚集索引?

3- MyISAM 不支持聚集索引,但 InnoDB 支持它

问题: 3.A. 这是否意味着在 MyISAM 上创建的所有索引默认都是非聚集索引?3.B。.MYI 文件中是否包含所有非聚集索引数据?4.B。同样,如果索引数据存储在 MyISAM 中的文件中,那么 InnoDB 将它们的聚集索引数据存储在哪里?

请帮忙,因为我在今天的采访中被问到这些问题,我真的没有得到任何明确的答案吗?

0 投票
0 回答
32 浏览

mysql - MySQL 5.0 中搜索的最佳实践

我在一个将较长文本存储在数据库中的网站上工作。它在只支持 MySQL 5.0 的 Godaddy 共享服务器上运行,因此 InnoDB 没有 FULLTEXT。一定是innoDB因为事务,连这些文本字段都涉及到了。在这些文本中有效搜索单词或表达的最佳做法是什么?

0 投票
0 回答
216 浏览

mysql - 从 MyISAM 更改为 InnoDB 失败

我有一个将数据库引擎从 MyISAM 更改为 InnoDB 的 php 脚本。该脚本一直运行良好,直到今天我偶然发现了一个无法正常工作的数据库。

错误是:

执行 SQL 时出错:42000 1118 行大小太大 (> 8126)。将某些列更改为 TEXT 或 BLOB 或使用 ROW_FORMAT=DYNAMIC 或 ROW_FORMAT=COMPRESSED 可能会有所帮助。在当前行格式中,768 字节的 BLOB 前缀被内联存储。最后一条语句是:ALTER TABLE Table ENGINE=InnoDB;

除了将 innodb 文件格式切换为梭子鱼并使用压缩行格式之外,还有其他解决方案吗?

0 投票
2 回答
4828 浏览

mysql - 何时为 MySQL 使用 CSV 存储引擎?

docs中,它指出:

CSV 存储引擎使用逗号分隔值格式将数据存储在文本文件中。

这样做有什么好处?以下是我能想到的一些:

  1. 您可以使用简单的文本编辑器编辑 CSV 文件(但是,您可以使用 轻松导出数据SELECT INTO OUTFILE
  2. 可以轻松导入电子表格程序
  3. 轻量级,也许性能更好(猜测)

有哪些缺点?

  1. 无索引
  2. 不能分区
  3. 没有交易
  4. 不能有 NULL 值

鉴于这个(非详尽的)优缺点列表,在哪些实际场景中我应该考虑使用 CSV 存储引擎而不是其他存储引擎?

0 投票
1 回答
2651 浏览

mysql - Laravel Schema Builder 改变存储引擎

我正在尝试更改表并将其存储引擎更改为InnoDb. 当我运行php artisan migrate它完成时没有错误。但是,当我在 Sequel Pro 中检查存储引擎时,没有任何改变。

0 投票
1 回答
1126 浏览

mongodb - 使用 WiredTiger 后 Mongodb 读写时间增加

我试图比较有和没有 WiredTiger 的 mongodb 的读写时间。我发现对于读取和写入,带有 WiredTiger 的 mongodb 比不使用 WiredTiger 需要更多时间。我正在使用 node-mongo 程序进行测试。

据我了解,使用wiredtiger后性能应该会有所提高。谁能帮我这个?

0 投票
2 回答
955 浏览

mysql - 可以在同一个数据库上混合存储引擎吗?

我有一个 OpenCart 项目,数据库中有大约 50,000 种产品。我已经将网络托管从 VPS 切换到专用服务器,并且我看到了一些改进,但网站仍然滞后。

在 VPS 上,所有表都在 mysql 上进行MyISAM了排序。在我切换到的新服务器上和. 对于某些表,我不得不删除 FULLTEXT 索引,我发现性能有所下降(所有表现在都在 TokuDB 上)。latin1_swedish_ci5.1.x.xTokuDBMariaDB 10

将某些表切换回 MyISAM(仅使用 FULLTEXT 索引)是一个明智的决定吗?OpenCart 有一些查询加入了很多表……如果有些在 TokuDB 上,有些在 MyISAM 上,会有惩罚吗?我只是在寻找性能,资源排在第二位。

非常感谢!

0 投票
3 回答
21093 浏览

mongodb - 如何知道mongodb使用的是哪个存储引擎?

从 3.0 版本开始,mongodb 支持可插拔存储引擎。如何知道系统中正在使用哪个存储引擎?

0 投票
0 回答
1027 浏览

mongodb - 将存储引擎更改为 WiredTiger 以获取来自 mongo 备份的数据

我们正在运行 mongodb 2.6.1,我们想升级到 3.*

我的问题是,既然我们需要更改存储引擎,我们可以使用来自 mongodb 备份的文件来完成它,而不是制作 mongodump/mongorestore(如docs中所述)吗?

0 投票
1 回答
756 浏览

linux - 重新启动mongo进程时的mongo服务器问题

Mongo 进程由普通用户启动,然后服务器已重新启动。重新启动服务器后,当尝试使用同一用户启动 mongod 时,权限被拒绝。我检查了日志文件,用户名已更改为 root 用户。

错误信息是

断言:28595:13:initAndListen 中的权限被拒绝异常:28595 13:权限被拒绝,终止 dbexit:rc:100

在日志文件中

我的问题用户名如何更改为root