【发布时间】:2023-03-19 06:50:01
【问题描述】:
如果我有一个声明:
select .. from .. where 条件;
而且我事先知道条件可以为假的最大次数。我如何告诉 MySQL 这个数字以提高性能?因此,在条件多次为假之后(在选择记录时),MYSQL 将假定其余记录的条件为真。
编辑:
我不知道我的问题中缺少什么。我来填空:
select * from t where c3 > c2;
这里我事先知道,在 50 条记录中,只有 5 条记录的条件“c3 > c2”为假。我可以并且应该告诉 MySQL 这个数字“5”来提高这个 select 语句的性能吗?这样在执行这个 select 语句时,在这个条件 (c3 > c2) 被错误 5 次之后,MySQL 将忽略这个条件,对其余的记录进行选择,然后选择所有的记录。
【问题讨论】:
-
你能再具体一点吗?数据示例?
-
您可以设置一个限制,但它可能对性能没有任何影响,而且这种在 RDBMS 中进行优化的整个方法存在根本缺陷。将您的查询添加到您的问题中,然后对其进行解释,有人会告诉您更好的方法。
-
@TonyHopkinson 我现在举了一个小例子。
-
@David 我现在举了一个小例子。
-
请告诉我您不知道 WERE 5 和 50 的数字,因为您在执行此操作之前已经运行过计数查询。
标签: mysql