【发布时间】:2017-09-25 17:50:07
【问题描述】:
在将其标记为重复之前,请阅读整个问题。
我知道我们只有一种方法可以从 C 中的文件中删除特定文本,即重写整个文件,除了我们要删除的文本。但是如果我们有一个文件数千或数百万行文本。现在,由于 MyISAM 是一个必须提高效率的存储引擎,因为它要用于数百万条记录并且它是用 C 语言制作的,那么它如何在不重新重写整个文件的情况下实现这一点?即我在问 MyISAM 的开发人员使用何种技术从文件中删除特定文本而不重新重写它。
【问题讨论】:
-
不标记为重复,而是将 vtc 标记为“太宽泛”。我们不能解释数据库:(
-
@MartinJames 能否请您简要解释一下。我只是要求开发人员使用的解决方案来克服重写文件的问题。
-
同意@MartinJames。简短的回答是不可能的。 MySQL 引擎是多年和许多开发人员的成果(边缘:年数乘以人-用“开发人员英语”怎么说?-我不是母语英语)
-
BD 文件不是简单的文本文件、字符流,并且在更新/删除期间不会重写。这种理解是没有帮助的——它完全不同。一个人用几行 C 代码在短时间内“手动”“手动”修补 db 文件是不可能的(我在职业生涯中做过这么几次)。在 SQL 中使用最大可能的高级访问权限,对服务器进行良好的调整(默认值不太好),使用缓存,禁用刷新
-
@JacekCz - 我的回答是否“不可能”?
标签: c database file innodb myisam