繁体   English   中英

准备好的SQL查询与扩展WHERE过滤器

Prepared SQL query vs widening WHERE filter

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我一直在使用R使用DBI软件包来连接我的Oracle DB。 我读到,当尝试在不同时间查询同一条语句时,准备查询通常是一个好习惯。

我的问题是,假设有无限的RAM容纳下载的数据,哪些因素可能会影响两种情况之间不同的运行时间:N次运行准备好的查询或使用WHERE ... BETWEEN过滤器?

假设我必须运行一个查询来分析2012年至2018年之间的一些时间序列信息。我发现在分析窗口之间每月运行一次准备好的查询与仅过滤整个窗口之间,下载时间有所不同。

1 个回复

这取决于数据库如何优化查询。 也许只选择一个月时它选择使用索引进行优化,也许它选择使用全表扫描一次检索整个窗口。

通常,我希望查询一次检索整个数据集比每月将其分解成几部分要更有效。

发挥作用的因素包括:

  • 您正在访问表中百分之几的行?
  • 有可以使用的索引吗?
  • 最近访问过哪些数据(并且可能被缓存了)?
  • 数据库可以处理/缓存多少数据?
  • 您是否对语句使用了绑定变量?
3 使用OR或ColdFusion过滤SQL查询Where子句?

我有搜索表单,用户可以在向用户提交请求之前选择一些条件。 这涉及可以按“ Name ,“ Number或Show All进行搜索的搜索条件。 在我们现有的(旧系统)中,以前的程序员使用了以下内容: 如您所见,他们使用switch语句根据查询的依据并基于该查询来评估参数filter b ...

4 SQL查询,其中filter = *

用PHP / sql编写一个小的过滤器。 用户可以从两个过滤器选项中进行选择,但是他们也可以选择在过滤器中选择“全部”,只是使查询不对结果进行过滤。 使用基本的WHERE方法,查询看起来像这样 我将如何调整它以使过滤器返回该特定过滤器的所有结果? 如在PHP中编写一堆if el ...

5 PHP-准备好的VS未准备好的查询

我想知道准备好的查询是否和未准备好的查询一样安全。 以下是两个示例,一个用于SELECT,一个用于UPDATE。 第一行是未准备好的,第二行是准备好的查询。 SELECT示例: UPDATE示例: 我应该使用很长的路吗?还是只需要一行的路做得更糟? ...

2014-10-23 04:09:07 3 299   php/ mysql
6 准备的SQL查询时间与常规查询时间

我知道,从我所读的内容来看,由于预编译的缓存版本用于重复查询,因此准备好的语句更快。 我的疑问是:确切地节省时间? 我看到,只有准备查询所花的时间可以节省。 即使是准备好的语句也必须进行数据库搜索,因此没有时间在那里保存。 我错了吗? ...

7 SQL对嵌套查询进行过滤的位置

我有一个看起来像这样的查询: 问题是最后一行。 它告诉我c是无效的列名。 同样使用yc可以得到相同的结果。 我不需要在大型内部查询为null的地方插入行,因为tblX不能在那里接受null。 我觉得我应该可以在该列上进行过滤,但是我不太了解语法。 ...

8 使用Prepared Statement中的where子句的SQL查询

这个问题已经在这里有了答案: 如何在MySQL Insert语句中添加where子句? 8个答案 我正在开发一个门禁系统,在该系统中我要及时插入时间。 在写SQL查询超时时,它在WHERE子句中显示错误。 我无法解决错误。 什么是确切的SQL查询? ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM