Php 使用jquery进行大型查询和筛选更好,还是进行更多较小的查询更好?

Php 使用jquery进行大型查询和筛选更好,还是进行更多较小的查询更好?,php,jquery,mysql,Php,Jquery,Mysql,我正在使用php/mysql和jquery编写我的第一个网站。在下一部分中,用户将应用过滤器和排序来查找特定的项目(例如高级搜索),并且还会有一个搜索框。我希望数据在任何复选框过滤器更改后立即反映更改(目前有一个没有数据库查询的测试ajax调用,可以很好地执行此操作) 是否最好在每次过滤器更改时重新形成查询字符串并重新查询数据,还是进行一次大型查询并根据过滤器过滤结果 目前,记录的数量将很低,但有可能增长到数千条 我会说,仅基于用户选择的数据构建查询,因为当数据变得庞大和笨拙时,将所有数据发送给

我正在使用php/mysql和jquery编写我的第一个网站。在下一部分中,用户将应用过滤器和排序来查找特定的项目(例如高级搜索),并且还会有一个搜索框。我希望数据在任何复选框过滤器更改后立即反映更改(目前有一个没有数据库查询的测试ajax调用,可以很好地执行此操作)

是否最好在每次过滤器更改时重新形成查询字符串并重新查询数据,还是进行一次大型查询并根据过滤器过滤结果


目前,记录的数量将很低,但有可能增长到数千条

我会说,仅基于用户选择的数据构建查询,因为当数据变得庞大和笨拙时,将所有数据发送给客户端是愚蠢的。如果您仔细想想,这将在两个方面对性能造成不利影响:

  • 大数据下载到客户端
  • JavaScript需要处理(排序/过滤)结果并显示用户要求的内容
  • 在我的书中,这是一个不需要动脑筋的问题。您将不得不重新设计解决方案,以适应数据库的大小,这是您不想要的


    该服务器擅长处理查询以及通过卡车装载的数据进行排序和过滤。如果您有选择的话,这实际上不应该在客户端执行。

    在这种情况下,我建议使用ajax调用来获取过滤信息。您可能还想限制显示的选项数量。您可以将查询限制为不超过25个、50个或100个选项,而不必呈现数千个选项(这可能会很耗时)。这节省了时间(要检索的信息更少,服务器端要做的工作更少,数据传输更快,客户端操作更快,因为数量更少。而且您的用户仍然可以使用筛选来获取他们需要的信息


    如果记录数可能保持较低(数十条而不是数千条)在不使用ajax的情况下实现客户端过滤可能会更快。但是,你需要找到一种用javascript过滤数据的方法,这可能有其自身的含义。

    @Daniel Ruf我不确定你的意思。过滤和排序将从单个表中提取,并显示结果。如果你加载多个将与以前相同的数据作为过多的对象添加到javascript中,并且大部分数据都是相同的,创建正确的mysql查询,让服务器为您处理它(因此客户端不会挂起)。大多数情况下,当您的服务器什么都不做时,您可以使用.load()使用ajax加载此查询并给出用于排序等的php文件参数!我期待着实现此功能!它还可以保护您的安全,防止有人从信息中窃取您的网站以及其他人的安全和隐私