首页 > 解决方案 > sql 死于请求流

问题描述

我需要有关 sql 代码的建议。我在 DB 中有一个表和该表的视图。在视图中,我有几个与表中相同的字段。我做简单的要求。此请求在每个号码上循环运行。

$number = [1,2,3,4,5...] /*length = 17*/

select `data` from `view` where `datestart` > cast(curdate() as datetime) and `fieldone` = $number

它工作得很好,但如果我这样做

select `data` from `view` where `dateend` > cast(curdate() as datetime) and `fieldone` = $number

它杀死了数据库,我的网站有 504、503、502 错误

字段datestartdateend具有相同类型的数据日期时间并且都具有索引。我需要执行此请求,但我不明白为什么它不适用于同一字段。我曾尝试每次执行一个数字,但耗时太长,大约 2 - 3 分钟。有人知道我想念什么吗?

标签: sql

解决方案


如果有人搜索相同问题的答案。它可能会帮助你!)) 所以,为了更好地搜索sql,我在where块中添加了一个字段,这对我有帮助。我的代码如下。

select `data` from `view` where `datasame` = '2021-04-26' and `datestart` > cast(curdate() as datetime) and `fieldone` = $number

我的表有另一个具有相同类型数据的字段,它有助于以某种方式加快我的select. 而已!))


推荐阅读