Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php,我应该使用json而不是mysql吗?_Php_Mysql_Xml_Json - Fatal编程技术网

Php,我应该使用json而不是mysql吗?

Php,我应该使用json而不是mysql吗?,php,mysql,xml,json,Php,Mysql,Xml,Json,我正在考虑在mysql数据库中插入内容时创建一个json/xml/text,这样php页面将读取此内容,而不是mysql查询。当mysql数据库中的数据更新后,它也会更新json/xml文件。这是个好主意吗?看起来,这将有较少的mysql查询,所以我认为这可能很好。我想这取决于具体情况。如果您正在编写一个使用AJAX加载的页面,并且您的设置或配置很少更改,但每次都需要加载,那么请继续将其写入json文件 如果您正在加载的内容是动态的,或者您正在通过服务器端脚本加载它,那么MySQL将是必须的 注

我正在考虑在mysql数据库中插入内容时创建一个json/xml/text,这样php页面将读取此内容,而不是mysql查询。当mysql数据库中的数据更新后,它也会更新json/xml文件。这是个好主意吗?看起来,这将有较少的mysql查询,所以我认为这可能很好。

我想这取决于具体情况。如果您正在编写一个使用AJAX加载的页面,并且您的设置或配置很少更改,但每次都需要加载,那么请继续将其写入json文件

如果您正在加载的内容是动态的,或者您正在通过服务器端脚本加载它,那么MySQL将是必须的


注意:如果您开始向json文件写入设置或数据,您可能会遇到一百万个安全和权限问题。

我想这取决于您的实际情况。如果您正在编写一个使用AJAX加载的页面,并且您的设置或配置很少更改,但每次都需要加载,那么请继续将其写入json文件

如果您正在加载的内容是动态的,或者您正在通过服务器端脚本加载它,那么MySQL将是必须的

注意:如果您开始将设置或数据写入json文件,您可能会遇到一百万个安全和权限问题

看起来,这将有较少的mysql查询,所以我认为这可能是好的

视情况而定。可能不会

你计划做的是一种形式的交流。如果页面上使用的查询非常非常复杂,并且在进行基准测试时需要很长时间,那么有时最好将结果存储在缓存文件中,并在数据更改时更新

但是在每个请求上运行一些简单的SELECT查询并不需要担心性能问题。如果您没有看到任何实际的性能问题,那么最好还是坚持使用SQL查询。一个正确索引的数据库非常非常快

看起来,这将有较少的mysql查询,所以我认为这可能是好的

视情况而定。可能不会

你计划做的是一种形式的交流。如果页面上使用的查询非常非常复杂,并且在进行基准测试时需要很长时间,那么有时最好将结果存储在缓存文件中,并在数据更改时更新


但是在每个请求上运行一些简单的SELECT查询并不需要担心性能问题。如果您没有看到任何实际的性能问题,那么最好还是坚持使用SQL查询。正确索引的数据库非常非常快。

取决于应用程序的大小。If是关于与数据库交互的一些事情。您可以使用JSON存储

但是,如果数据库的大小很大,并且希望使用RDBMS概念,那么它将很难管理

我想让你浏览一下这篇文章:


取决于应用程序的大小。If是关于与数据库交互的一些事情。您可以使用JSON存储

但是,如果数据库的大小很大,并且希望使用RDBMS概念,那么它将很难管理

我想让你浏览一下这篇文章:


你的目标是什么?获得更多性能

性能优化的第一条规则: 了解你的瓶颈!不要优化黑盒。在每次优化之前和之后进行基准测试

我怀疑,你的数据库是你目前的瓶颈。即使是这样,也有更好的方法来提高性能,即避免使用语句,而不是将结果存储在json/文本文件中

  • 使用MySQL查询缓存

    MySQL在缓存结果方面非常好。您不应该自己处理缓存结果。这里很重要:足够的内存。有关更多信息,请查看MySQL文档:

  • 实现更多缓存层

    为了获得更高的性能,可以在MySQL数据库之前实现第二个缓存层,以避免对数据库的调用。您可以使用memcached或其他NoSQL解决方案(Redis、MongoDB等)以非持久、非常快速的方式存储初始结果(当然,在第一次调用时,您需要从DB获取结果)

  • 了解你的瓶颈

    正如我之前所说的,性能优化中最重要的事情是知道瓶颈在哪里,以及通过优化赢得了多少。至少这是一个非常好的感觉统计:嘿,。。。完成XYZ后,系统速度提高了6000%。)

  • 也许你的数据库不是现在需要加速的东西。安装APC可能会加快应用程序的速度。:)


    但回到你的问题上来:如果你真的想把这些结果存储在JSON/文本文件中,你应该把这些文件存储在tmpfs/RAM文件系统中,这样它们就可以很快地被写入和读取。

    你的目标是什么?获得更多性能

    性能优化的第一条规则: 了解你的瓶颈!不要优化黑盒。在每次优化之前和之后进行基准测试

    我怀疑,你的数据库是你目前的瓶颈。即使是这样,也有更好的方法来提高性能,即避免使用语句,而不是将结果存储在json/文本文件中

  • 使用MySQL查询缓存

    MySQL在缓存结果方面非常好。您不应该自己处理缓存结果。这里很重要:足够的内存。有关更多信息,请查看MySQL文档:

  • 实现更多缓存层

    为了获得更高的性能,可以在MySQL数据库之前实现第二个缓存层,以避免对数据库的调用。您可以使用memcached或其他NoSQL解决方案(Redis、MongoDB等)以非持久、非常快速的方式存储初始结果(当然,在第一次调用时,您需要从DB获取结果)

  • K