【问题标题】:Query MySQL database vs reading static files查询 MySQL 数据库 vs 读取静态文件
【发布时间】:2017-04-24 18:45:06
【问题描述】:

我有一个带有固定数据的 MySQL 数据库,它永远不会改变 或被编辑,或被复杂查询查询。 IT 只有 2 列

Id|Data

它包含大约 50k 行,大小约为 70mb 我在想也许我应该创建 50k 个静态文件 将被命名为 Id.xml 并以这种方式读取。例如:

file_get_contents('2232.xml');

相对于查询 mysql 数据库

从 id = 2232 的表中选择

这样做是否更好,以获得更快的性能 更少的内存使用?还是 50k inode 不适合系统?

【问题讨论】:

  • 您能举例说明数据字段可能包含的内容吗?
  • 它会包含一些xml数据,没关系,因为数据将通过id字段获取,从id=id的表中选择
  • 我问的原因是,如果知道内容大小,如果全部合并到一个文件中会更快,更系统友好。您可以使用 id 乘以内容长度来定位文件指针并读取一大块 x 字符。不过,拥有 50k 个文件并不是一个好主意!
  • 我明白了,我以为你要求使用数据列的内容查询数据库,我的错误。那么我坚持使用mysql可能会更好
  • 您总是可以选择面向文档的数据库(或 NoSQL),这听起来更适合您尝试做的事情。没有亲自尝试过 - 但尝试 MongoDB 或 CouchDB

标签: mysql database file-io static


【解决方案1】:

去找静态文件。一个好处是系统中没有另一个数据库。该系统绝对可以处理 50k 个 inode(如果它是数百万个,您可能需要重新考虑)。

【讨论】:

  • 感谢您的回答,与经常​​阅读 mysql 相比,阅读这些文件通常是一个更大的问题吗?始终牢记 mysql 数据库包含一个静态不可更改的表。
  • 无论哪种方式都应该没问题。我个人宁愿不必维护另一个数据库(或表)
  • 是的,正是这种担忧让我提出了这个问题。感谢您与我分享您的意见 Boanerges
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多