gpt4 book ai didi

php - 让 PHP 或 MySQL 来完成繁重的工作更好吗?

转载 作者:行者123 更新时间:2023-11-29 05:39:26 25 4
gpt4 key购买 nike

我一直在用 PHP 为我的网站构建这个自定义搜索功能,它根据最终用户提供的选项和输入逐步构建 MySQL 查询。它在我的本地服务器上完美运行,但是当我将它上传到生产站点时,它运行起来 super 慢。我对使用 PHP 和 MySQL 进行编程比较陌生,所以我对一般情况和 future 的项目很好奇:

运行搜索查询时,是使用复杂、精确的 MySQL 查询来过滤数据并返回结果以供 PHP 显示,还是运行简单的 MySQL 查询并从数据库中获取一堆数据并拥有PHP过滤数据然后显示结果?

最佳答案

这是一种平衡行为。这是我的建议:

  • 使用FULLTEXT使字符串搜索更快。
  • 在 WHERE 子句中对字段进行排序,以便首先索引列,然后是数字,然后是日期,最后是文本字段。这将通过在便宜的列之后过滤昂贵的列来减少您的负载,从而减少数据库必须完成的工作量。
  • 在处理大型数据集时避免使用 ORDER,并将此处理卸载到您的 PHP 代码,因为它可以避免 MySQL 在查询的每个点对数据进行排序。
  • 索引最常用或搜索成本高的字段。
  • 如果可以轻松执行两个或更多查询,请不要使用大量 JOIN。在一些大表上使用 10 或 20 个 JOIN 的查询可以完全杀死您的数据库。
  • UNION 有助于在同一个表上同时执行几个 SELECT 查询,而不是使用 OR 执行复杂的逻辑。

一般来说,优化查询应该就足够了。在某些极端情况下,使用 PHP 完成工作很有用,但数据库对于 99% 的情况应该足够快。

关于php - 让 PHP 或 MySQL 来完成繁重的工作更好吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8012261/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com