gpt4 book ai didi

mysql - 编译 MySQL 行列表以排除 : to Pre-Compile or not to Pre-Compile? 时

转载 作者:行者123 更新时间:2023-11-29 14:15:47 29 4
gpt4 key购买 nike

在我的一个 PHP 网站上,我需要为我的用户提供选择某些行以从网站上的所有搜索结果(查询)中排除的功能。

我应该采取哪种方式来处理排除,我应该:

1) 每当用户登录(或通过查询更新它)时,预编译排除行的列表,将该列表保存在 session 变量中,然后只需添加 $query .= " AND userid NOT IN ({$_SESSION['ExclusionList']})"网站上的每个搜索查询,

2) 只需添加 $query .= " AND userid NOT IN (SELECT userid FROM Excluded WHERE excludedBy = '$currentUserID')" 即可在每个查询中直接即时编译它网站上的每个搜索查询?

方法 1) 似乎更有效,因为我只在用户登录时(或每当他们更新列表时)编译列表一次,而不是每次任何用户在网站上运行搜索查询时都必须编译列表.

你有什么建议以及为什么?

最佳答案

从技术上讲,这称为“缓存”值,只要列表不会变得太大,或者您的 $_SESSION 最终可能会变得很重,这并不是一个坏主意。

进行子选择可能会非常昂贵,尤其是在大型记录集上,因此通常最好缓存它。

关于mysql - 编译 MySQL 行列表以排除 : to Pre-Compile or not to Pre-Compile? 时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12712647/

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