Php 读取CSV文件或进行MySQL查询

Php 读取CSV文件或进行MySQL查询,php,mysql,csv,Php,Mysql,Csv,我正在制作一个CMS,一旦用户搜索某个内容,就会使用MySQL生成一个缓存文件(CSV),之后,相同的CSV将被包含,并由PHP为相同的搜索提供服务 现在我想允许用户使用jQuery从同一个缓存/静态文件中过滤数据 我有两种选择 根据用户的过滤器参数进行DB查询以生成结果 读取缓存/静态(CSV格式)并仅使用PHP根据用户参数生成结果 我的数据库和CSV文件都很小,MySQL数据库中大约有2000行,CSV文件中最多有500行。CSV文件的平均长度约为50行。将有几个(大约100个)CSV文件用

我正在制作一个CMS,一旦用户搜索某个内容,就会使用MySQL生成一个缓存文件(CSV),之后,相同的CSV将被包含,并由PHP为相同的搜索提供服务

现在我想允许用户使用jQuery从同一个缓存/静态文件中过滤数据

我有两种选择

  • 根据用户的过滤器参数进行DB查询以生成结果
  • 读取缓存/静态(CSV格式)并仅使用PHP根据用户参数生成结果
  • 我的数据库和CSV文件都很小,MySQL数据库中大约有2000行,CSV文件中最多有500行。CSV文件的平均长度约为50行。将有几个(大约100个)CSV文件用于不同的搜索

    哪种技术更快更有效?我在共享主机上


    搜索结果就像电子商务网站上的产品信息。

    因为您在共享主机上,总数2K不是问题,但硬盘的IO是问题

    将数据库搜索结果放在memeory中,如mysql memeory engine表,
    让redis用TTL管理缓存更好。

    共享主机上下文中的MySQL服务器在大多数情况下都是超负荷的,有时可能非常慢/无法响应


    如果你想解决这个问题,你可以让你的php脚本从数据表中为当天的第一个用户创建一个CSV文件,然后在一天剩下的时间里读取CSV文件。

    2000行?把它们都交给客户机,让javascript在一个页面上整理出2000个产品?它会无限滚动。我没说显示2000个结果。把它们交给javascript,让它过滤/分页。你自己说过有些结果会有500条记录,而2000条记录甚至不超过500条。2000张唱片算不了什么(我做了3万张——你会惊讶它的效果如何)。显然,将它作为json而不是csv提供给客户机。这似乎很有趣。我一定会试试这个。