我一直在用PHP语言为我的站点构建这个自定义搜索函数,它会根据最终用户提供的选项和输入逐步构建MySQL查询。它在我的本地服务器上运行得很好,但是当我把它上传到生产站点时,它运行起来超级慢。我对PHP和MySQL编程比较陌生,所以我对一般的项目和未来的项目都很好奇:
在运行搜索查询时,是让一个复杂、精确的MySQL查询过滤数据并返回结果以供PHP显示,还是运行一个简单的MySQL查询并从数据库中获取一堆数据并让PHP过滤数据然后显示结果?
发布于 2011-11-05 00:21:30
这是一种平衡的行为。以下是我的建议:
一般来说,最优的查询应该足够了。在一些特殊情况下,用PHP做这项工作是有用的,但是数据库应该足够快,可以满足99%的情况。
发布于 2011-11-05 00:22:52
如果数据库被多个web服务器访问,那么使用MySQL服务器来做大量处理可能不是一个好主意。其次,如果你使用产生大量数据的查询,这将花费你的数据很长一段时间来传输到web服务器,并且你将不得不在php中做更多的处理。
另一方面,MySQL使用了大量的优化,以使其有效地获取数据。
所以这完全取决于你在做什么
发布于 2011-11-05 00:13:16
我认为你可以将它们组合在一起以获得最好的结果。首先也是最重要的,运行精确匹配或真正接近匹配的查询。基本上,如果有人搜索页面的确切名称,您只需要返回该名称(=而不是LIKE)。然后,如果他们把第一部分做对了(比如“words%”)。最后,构建一个更复杂的应用程序,让MySQL来做繁重的工作。这确保了当用户提供最好的数据时最快的返回。
https://stackoverflow.com/questions/8012261
复制相似问题