小编Ed *_*rty的帖子

当 ARCHIVE 不可用时,哪个 MySQL 存储引擎与 ARCHIVE 最相似?

我有一个表,其中包含一个经常写入的事件日志,相比之下,它很少读取。我很想使用ARCHIVE引擎,因为它基本上就是为此而设计的。但是,我的托管服务提供商不提供此引擎。

唯一可用的(有用的)选项是 MyISAM、InnoDB 和 CSV。我敢肯定,我应该使用CSV这个选项,让我们优惠的那一个。

我正在寻找的是提供最佳替代方案的引擎,请记住以下几点:

  • 好的压缩会非常好。许多数据在行之间可能非常相似(就像日志消息的情况一样)
  • 我不需要快速查找。索引并不是真正必要的。同样,我希望尽可能多地节省空间。
  • 需要支持很多行。因此需要压缩和小足迹。
  • 确实有另一个表的外键,但没有必要保留这种关系。每个日志条目都有一个与之关联的名称,该名称存储在另一个不会更改的表中。

所以基于此,InnoDB 或 MyISAM 哪个更好。我知道这台服务器上安装的 MyISAM 引擎只支持 2^32 行。如果 InnoDB 对压缩有类似的支持并且支持更多的行,那会更好(但我不知道是不是这样)。

mysql innodb myisam storage-engine

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

如何根据 SELECT 语句将数据从一台 MySQL 服务器复制到另一台服务器(然后从原始服务器中删除数据)?

我有一个非常大的日志表,我想从中复制行,将它们放入新服务器上的相同表结构中。我不想复制所有内容,只复制旧行,以便主服务器上的表保持较小。所以我必须选择我想要的数据并且只移动(和删除)它。

请记住,有很多数据,mysqldump如果不需要,我不想用 a 复制所有数据,尤其是在复制表时它会锁定表。

我想出的最好的是一个 PHP 脚本,我将其作为暂定答案发布,尽管我确定它不是最佳选择。

mysql mysqldump php

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

随着时间的推移观察 MySQL 查询的输出

我想每隔几秒钟运行一次查询并在控制台窗口中显示输出。从 bash,使用watch

watch "mysql -A -pXXXXX -h host -D dbname -u username --vertical -e \"SELECT rowID FROM IDs LIMIT 1\""
Run Code Online (Sandbox Code Playgroud)

随着输出:

*************************** 1. row ***************************
rowID: 68434810
Run Code Online (Sandbox Code Playgroud)

不过,我不想每 2 秒断开并重新连接一次。有没有更好的办法?

mysql

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

标签 统计

mysql ×3

innodb ×1

myisam ×1

mysqldump ×1

php ×1

storage-engine ×1