PHP   发布时间:2022-04-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了PHP性能-多个查询还是一个效率低的查询?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

我有三个表,每个表都包含一些公用信息,以及某些表独有的信息.
例如:uid,date在表中是通用的,但是一个表可以包含列类型,而另一个表可以包含货币.
我需要查询数据库获取在所有三个表中输入的最后20个条目(日期desc).
我的选择是:

>使用一个查询查询数据库一次,该查询包含三个union all子句,并传递列IE的伪值:

FROM    (
    SELECT  uid, date, currency, 0, 0, 0

后来

FROM    (
    SELECT  uid, date, 0, type, 0, 0

这会让我分配空值字段.
>或者,我可以查询数据库3次,然后在PHP中以某种方式对信息进行排序,以获取最新的20条帖子.这将给我留下过多的信息-60个帖子以供浏览(LIMIT 20)* 3-并迫使我每次都进行某种类型的其他快速排序.

哪个选项更好/其他替代想法?

谢谢.

解决方法:

这两个选项比您听起来更相似.

您使用UNION执行单个大型查询时,MysqL仍将执行三个单独的查询,就像您在替代计划中建议的那样,然后将它们组合为一个结果.

因此,您可以让MysqL为您进行过滤(和LIMIT),也可以自己进行过滤.有了这种选择,让MysqL完成所有工作听起来是可取的.

从理论上讲,在结果集中添加额外的列可能会影响性能,但是如果结果集只有20行那么小,我预计它不会产生任何可检测的影响.

大佬总结

以上是大佬教程为你收集整理的PHP性能-多个查询还是一个效率低的查询?全部内容,希望文章能够帮你解决PHP性能-多个查询还是一个效率低的查询?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: