Php 大量的小sql语句会显著降低我的网站速度吗

Php 大量的小sql语句会显著降低我的网站速度吗,php,mysql,sql,zen-cart,Php,Mysql,Sql,Zen Cart,我有一个25-30类的禅宗车。在该网站的首页上,每个类别都会有自己的小区域,其中将展示该类别中最畅销的4种产品 我认为最好的方法就是为每个类别使用一条sql语句,在每次页面加载时,它都会挑选出最畅销的书籍。我在某个地方读到过,为了不影响站点速度,最好限制sql语句的数量 这样做会慢很多吗 有没有更明智的方法 这在很大程度上取决于支持您网站的服务器。但是25到30个查询不应该对页面性能产生重大影响 更好的方法是设计一个数据库查询,通过一个查询获取所有项目。但是为了帮助您这样做,我们需要数据库的模式

我有一个25-30类的禅宗车。在该网站的首页上,每个类别都会有自己的小区域,其中将展示该类别中最畅销的4种产品

我认为最好的方法就是为每个类别使用一条sql语句,在每次页面加载时,它都会挑选出最畅销的书籍。我在某个地方读到过,为了不影响站点速度,最好限制sql语句的数量

这样做会慢很多吗


有没有更明智的方法

这在很大程度上取决于支持您网站的服务器。但是25到30个查询不应该对页面性能产生重大影响

更好的方法是设计一个数据库查询,通过一个查询获取所有项目。但是为了帮助您这样做,我们需要数据库的模式

此外,如果您必须执行许多类似的查询,则可以选择使用“准备好的查询”,这通常会大大提高性能


毕竟,一般来说,如果您还不熟悉使用数据库,那么最好设计一些更小型的查询,这些查询结构简单,可以由您处理,然后是一个可能包含错误的大型查询,可能会比多个小型查询更慢数据库的速度。

您不能用更复杂的查询来实现这一点吗?模式如何?和往常一样,答案是“视情况而定”。如果你有一个工作场所,最好的办法就是做一些改变,看看它们有什么影响。首先,我会在运行中获得一些HTML片段缓存,因为这将给您带来巨大的收益(比任何查询都好),然后,尝试一些SQL更改。一般来说,对于简单查询,限制单个查询的数量是一个好主意,因此一个得到四行的查询通常比四个单独的查询更好。经验法则:如果您可以用一个查询实现多个查询将实现的相同功能,请使用单个查询。这方面也有例外,但很少有例外。如果您有一些非常复杂的内容,或者涉及/需要一个或多个MySQL UDF,那么可能需要将其拆分为多个查询。一般来说,查询越少越好,因为发送查询/DB解析它/DB查找结果/DB返回结果/PHP解析结果集会增加开销。如果只使用一个查询,所有这些只会发生一次。您好,感谢您的回复,数据库模式是:但我不知道如何限制每个类别的结果@哈尔弗:我得去谷歌搜索一下html片段缓存,因为我不知道这是什么,但听起来很有用:)html缓存->它基本上是从数据库中生成html片段(比如畅销书信息和它们的图像标签),然后在预设时间内自动使用该片段(比如说,接下来的12个小时,因为畅销书的内容不会经常改变)。您可以使用本地文件系统,或者使用memcache快速获取。我不知道,但听起来不错。您好,谢谢您的回答,这里可以看到DB模式:-看起来可能吗?!我很有信心这是可能的。如果您告诉我您现在使用的查询以查找要发布的产品从一个类别开始播放,我会尝试一下。嘿,再次感谢。到目前为止,我还没有真正的查询,我只是想先看看这是否都是可能的!就sql而言,我是一个有点学习驱动力的人。