Mysql 从文件或大型数据库中读取

Mysql 从文件或大型数据库中读取,mysql,database,file,Mysql,Database,File,我有10万种产品的清单。我希望存储产品的规格,不搜索这些规格 我能想到的两种方法是 将规范作为键值对存储在mysql数据库中 将值存储在一个文件中,然后从那里读取 考虑到我不打算搜索那些键值对,提到的两种方法中哪一种是节省空间和读取效率的 任何其他有效解决问题的方法都将受到赞赏 谢谢 这取决于它的用途,但总的来说,为什么不将两者结合起来呢;p使用SQLite,它是一个存储在文件中的数据库,您可以像大多数编程语言中的任何其他数据库一样使用它,但您不必为常规数据库系统的所有配置而烦恼 如果您只需要读

我有10万种产品的清单。我希望存储产品的规格,不搜索这些规格

我能想到的两种方法是

  • 将规范作为键值对存储在mysql数据库中

  • 将值存储在一个文件中,然后从那里读取

  • 考虑到我不打算搜索那些键值对,提到的两种方法中哪一种是节省空间和读取效率的

    任何其他有效解决问题的方法都将受到赞赏


    谢谢

    这取决于它的用途,但总的来说,为什么不将两者结合起来呢;p使用SQLite,它是一个存储在文件中的数据库,您可以像大多数编程语言中的任何其他数据库一样使用它,但您不必为常规数据库系统的所有配置而烦恼

    如果您只需要读取文件并将其转储到网页,那么最有效的方法是将HTML网页内容存储在应用程序的变量中,加载应用程序时从文件填充一次,然后根据需要将其输出。这样,您不需要进行任何处理或渲染、任何I/O或显示内容以外的任何操作


    但是,很可能在某个阶段您需要对数据执行其他操作,例如更改或更新数据、插入值或删除数据,为此,您需要以允许您编辑数据的方式存储数据。这就是其他用例发挥作用的地方,你不能真正确定只有一个用例起作用,除非它真的、真的起作用。

    有人可以编辑缩进问题吗。我在手机上。你能读取这些数据吗?如果是,读访问策略是什么?最好的解决方案取决于您的用例,但合适的替代方案可能是专门的。对于读,文件将按照产品id命名,产品id将在SOLRAs中索引。我说的用例只是读取文件并转储到网页上。您认为这种模式可以扩展吗?我必须时不时地添加具有其功能的新产品。另外,这需要大量的记忆。这是你要考虑的另一个用例,这是我回答的下半部分的要点。如果您经常阅读而很少更改,那么我建议使用一个缓冲数据库表,比如使用InnoDB的MySQL(特别是如果您已经在使用MySQL做其他事情);它自动使用RAM缓存不经常更改的数据。另一方面,如果您将数据保存到文件中,则需要使用额外的技术,以便从内存缓存中获益,从而提高多读少写性能。