当前位置: 首页 > 面试题库 >

优化SELECT COUNT以存在

澹台景辉
2023-03-14
问题内容

我有一个查询,可以从表中查找某些客户。

SELECT COUNT(*)
  FROM CUSTOMER
 WHERE amount <> 0
   AND customerid = 22

在customerid上有一个索引,因此数据库将扫描customerid = 22的所有行。

由于通过检查计数是否返回零或大于零来处理结果,我该如何优化查询?即,在第一个客户行的金额<> 0时,查询返回0,否则,如果所有行均= 0,则返回1。


问题答案:
select case
         when exists (select *
                      from   customer
                      where  amount <> 0
                             and customerid = 22) then 1
         else 0
       end  as non_zero_exists


 类似资料:
  • When users hit the URL of your application they will need to download different assets. CSS, JavaScript, HTML, images and fonts. The great thing about Webpack is that you can stop thinking how you sho

  • ES 内针对不同阶段,设计有不同的缓存。以此提升数据检索时的响应性能。主要包括节点层面的 filter cache 和分片层面的 request cache。下面分别讲述。 filter cache ES 的 query DSL 在 2.0 版本之前分为 query 和 filter 两种,很多检索语法,是同时存在 query 和 filter 里的。比如最常用的 term、prefix、rang

  • 问题内容: 编写Java程序时,对CPU如何利用其缓存存储数据有影响吗?例如,如果我有一个经常访问的数组,那么它是否足够小以适合一个高速缓存行(在64位计算机上通常为128字节)是否有帮助?如果我将一个经常使用的对象保持在该限制之内,我可以期望它的成员使用的内存紧密并留在缓存中吗? 背景:我正在构建一个压缩的数字树,它受C语言中Judy数组的启发很大。虽然我主要追求其节点压缩技术,但Judy将CP

  • 本文向大家介绍总结Android App内存优化之图片优化,包括了总结Android App内存优化之图片优化的使用技巧和注意事项,需要的朋友参考一下 前言 在Android设备内存动不动就上G的情况下,的确没有必要去太在意APP对Android系统内存的消耗,但在实际工作中我做的是教育类的小学APP,APP中的按钮、背景、动画变换基本上全是图片,在2K屏上(分辨率2048*1536)一张背景图片

  • 问题内容: 我有一些看起来像这样的代码: 目前,我正在执行以下操作以获取计数: 但是似乎必须要有一个更好的解决方案(类型安全…因为这就是使用jooq的全部目的)。有什么建议? 问题答案: 不幸的是,对于此特定查询,没有很多“更好”的方法来安全地键入值。您可以执行以下操作以添加类型安全性: 问题在于,有关投影的大多数类型信息在“到达”方法时已“丢失”给Java编译器。没有办法,一个方法可以从恢复它条

  • 问题内容: 我需要优化应用程序的RAM使用率。 请避免让我的讲座告诉我在编写Python时我不关心内存。我有一个内存问题,因为我使用了很大的默认字典(是的,我也想很快)。我当前的内存消耗为350MB,并且还在不断增长。我已经不能使用共享主机了,如果我的Apache打开更多进程,内存将增加两倍和三倍……这很昂贵。 我已经进行了 广泛的分析, 而且我确切地知道了问题所在。 我有几个带有Unicode键