Javascript SQL语句中的条件与代码后面的条件

Javascript SQL语句中的条件与代码后面的条件,javascript,sql,language-agnostic,conditional-statements,Javascript,Sql,Language Agnostic,Conditional Statements,考虑一下这个有一些当天记录的myTable: +-----+---------------------+---------------------+ | id | start_date | end_date | +-----+---------------------+---------------------+ | 1 | 2017-07-17 12:00:00 | 2017-07-17 14:00:00 | | 2 | 2017-07-17

考虑一下这个有一些当天记录的
myTable

+-----+---------------------+---------------------+
| id  | start_date          | end_date            |
+-----+---------------------+---------------------+
| 1   | 2017-07-17 12:00:00 | 2017-07-17 14:00:00 |
| 2   | 2017-07-17 8:00:00  | 2017-07-17 11:00:00 |
| 3   | 2017-07-17 13:00:00 | 2017-07-17 15:00:00 |
+-----+---------------------+---------------------+
假设我想
获取12:00:00->14:00:00重叠的记录(其中12->14是目标)

从本质上说,对于

我可以通过以下方法之一实现这一点:

1-sql语句中的条件:

const myQuery = 
    "SELECT * FROM myTable " +
    "WHERE start_date <= '" + target_end_date +
    "' AND '" + target_start_date + "' <= end_date";

let filtered = DbConnection.query(myQuery)
const myQuery =  "SELECT * FROM myTable";

let records = DbConnection.query(myQuery)

let filtered = [];
records.map((rec) => {
    if(Date.parse(rec.start_date) <= Date.parse(target_end_date) && Date.parse(target_start_date) <= Date.parse(rec.end_date) ) 
        filtered.push_back(rec)
})
const myQuery=
“从myTable中选择*”+

“其中开始日期利用Sql功能进行过滤将是: -性能 -减少网络带宽使用 -可维护 -快速实施 等
毕竟数据库要存储数据并执行CRUD操作

利用Sql功能进行过滤将是: -性能 -减少网络带宽使用 -可维护 -快速实施 等
毕竟,数据库是用来存储数据和执行CRUD操作的。使用sql筛选记录有两个原因。一个是为了减少通过网络的数据量。第二个是为了最小化应用程序所需的RAM量。如果引入太多数据,可能会出现堆空间问题。

使用SQL过滤记录的两个原因。一个是减少网络中数据流的数量。第二个是最小化应用程序所需的RAM量。如果你带来太多的数据,你会得到堆空间问题。

这里有两件事要考虑:

  • 尽可能获取最小、最有效的结果集
  • 以尽可能少的次数点击DB
您几乎总是希望尽可能地集中精力获取最小、最有效的结果集,即在SQL中使用过滤器


<>您只需在代码中筛选而不是SQL查询,如果您已经被要求将整个表拖到内存中,并且稍后将过滤以不同的方式查看它。

这里有两件事要考虑:

  • 尽可能获取最小、最有效的结果集
  • 以尽可能少的次数点击DB
您几乎总是希望尽可能地集中精力获取最小、最有效的结果集,即在SQL中使用过滤器


如果您已经被要求将整个表拉入内存,并将在以后以不同的方式对其进行筛选以查看,则只需在代码中进行筛选,而不是在SQL查询中进行筛选。

始终使用SQL中的筛选条件。。同时,您确实选择了筛选条件,因此避免使用SQL查询的代码language@scaisEdge我想知道更多,因此,如果我有,我在sql中包含的越多越好?相关:如果你有多个条件和连接..如果你有复杂的条件..最佳实践是..ever sql..用于过滤结果..很少…但非常少..可能会发生你需要代码但sql无法完成工作的情况。始终在sql..在选择过滤器的同时,避免使用language@scaisEdge我想知道更多,所以如果我有,我在sql中包含的越多越好?相关:还有,如果你有多个条件和连接..还有,如果你有复杂的条件..最好的做法是..ever sql..过滤结果。.很少…但非常少..可能会发生这样的情况:您需要代码,但sql无法完成这项工作。