在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

SQL告別count改用LIMIT 1

數據分析與開發 ? 來源:今日頭條 ? 作者:程序猿囧途 ? 2021-07-26 10:57 ? 次閱讀

根據某一條件從數據庫表中查詢 『有』與『沒有』,只有兩種狀態,那為什么在寫SQL的時候,還要SELECT count(*) 呢?無論是剛入道的程序員新星,還是精湛沙場多年的程序員老白,都是一如既往的count

目前多數人的寫法

多次REVIEW代碼時,發現如現現象:業務代碼中,需要根據一個或多個條件,查詢是否存在記錄,不關心有多少條記錄。普遍的SQL及代碼寫法如下

##### SQL寫法:

SELECT count(*) FROM table WHERE a = 1 AND b = 2

##### Java寫法:

int nums = xxDao.countXxxxByXxx(params);

if ( nums 》 0 ) {

//當存在時,執行這里的代碼

} else {

//當不存在時,執行這里的代碼

}

是不是感覺很OK,沒有什么問題

優化方案

推薦寫法如下:

SELECT 1 FROM table WHERE a = 1 AND b = 2 LIMIT 1

##### Java寫法:

Integer exist = xxDao.existXxxxByXxx(params);

if ( exist != NULL ) {

//當存在時,執行這里的代碼

} else {

//當不存在時,執行這里的代碼

}

SQL不再使用count,而是改用LIMIT 1,讓數據庫查詢時遇到一條就返回,不要再繼續查找還有多少條了業務代碼中直接判斷是否非空即可

總結

根據查詢條件查出來的條數越多,性能提升的越明顯,在某些情況下,還可以減少聯合索引的創建。

編輯:jq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • SQL
    SQL
    +關注

    關注

    1

    文章

    771

    瀏覽量

    44191

原文標題:SQL 查找是否"存在",別再 count 了!

文章出處:【微信號:DBDevs,微信公眾號:數據分析與開發】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    dbForge Studio For SQL Server:用于有效開發的最佳SQL Server集成開發環境

    dbForge Studio For SQL Server:用于有效開發的最佳SQL Server集成開發環境 SQL編碼助手 SQL代碼分析 查詢分析器 可視化查詢生成器 數據和模式
    的頭像 發表于 01-16 10:36 ?38次閱讀

    verilog計數器代碼為什么要使用這句話if (count===8\'bxxxxxxxx)count=8\'b0000_0000;

    ; else if(count==8\'b1111_1111) count<=8\'b0000_0000; else count<=count+1; end endmodu
    發表于 12-21 14:49

    SQL錯誤代碼及解決方案

    SQL數據庫開發和管理中,常見的錯誤代碼及其解決方案可以歸納如下: 一、語法錯誤(Syntax Errors) 錯誤代碼 :無特定代碼,但通常會在錯誤消息中明確指出是語法錯誤。 原因 :SQL語句
    的頭像 發表于 11-19 10:21 ?2369次閱讀

    常用SQL函數及其用法

    SQL 函數及其用法: 一、聚合函數(Aggregate Functions) 聚合函數對一組值執行計算,并返回單個值。 COUNT() 用途 :返回匹配指定條件的行數。 示例 : SELECT
    的頭像 發表于 11-19 10:18 ?361次閱讀

    SQL與NoSQL的區別

    在信息技術領域,數據庫是存儲和管理數據的核心組件。隨著互聯網的發展和大數據時代的到來,對數據庫的需求也在不斷變化。SQL和NoSQL作為兩種主流的數據庫管理系統,各自有著獨特的優勢和應用場
    的頭像 發表于 11-19 10:15 ?205次閱讀

    大數據從業者必知必會的Hive SQL調優技巧

    不盡人意。本文針對Hive SQL的性能優化進行深入研究,提出了一系列可行的調優方案,并給出了相應的優化案例和優化前后的SQL代碼。通過合理的優化策略和技巧,能夠顯著提升Hive SQL的執行效率和響應速度。 關鍵詞: Hive
    的頭像 發表于 09-24 13:30 ?295次閱讀

    IP 地址在 SQL 注入攻擊中的作用及防范策略

    數據庫在各個領域的逐步應用,其安全性也備受關注。SQL 注入攻擊作為一種常見的數據庫攻擊手段,給網絡安全帶來了巨大威脅。今天我們來聊一聊SQL 注入攻擊的基本知識。 SQL 注入攻擊的基本原理
    的頭像 發表于 08-05 17:36 ?348次閱讀

    恒訊科技分析:sql數據庫怎么用?

    SQL數據庫的使用通常包括以下幾個基本步驟: 1、選擇數據庫系統: 選擇適合您需求的SQL數據庫系統,如MySQL、PostgreSQL、Microsoft SQL Server、SQ
    的頭像 發表于 07-15 14:40 ?388次閱讀

    什么是 Flink SQL 解決不了的問題?

    簡介 在實時數據開發過程中,大家經常會用 Flink SQL 或者 Flink DataStream API 來做數據加工。通常情況下選用2者都能加工出想要的數據,但是總會有 Flink SQL
    的頭像 發表于 07-09 20:50 ?350次閱讀

    ESP-IDF V5.2使用pnct例程時得到的脈沖數總是為1是什么原因導致的?

    = EXAMPLE_PCNT_LOW_LIMIT; unit_config.intr_priority = 0; unit_config.flags.accum_count = 1; pcnt_unit_handle_
    發表于 06-06 06:43

    請問stm32cubeide怎么取ImageER_IROM1Limit?

    MDK的時候取image大小是用\"ImageER_IROM1Limit\"這樣的,但是stm32cubeide用不了,大家有什么辦法嗎?謝謝
    發表于 05-29 06:03

    SQL全外連接剖析

    SQL中的全外連接是什么? 在SQL中,FULLOUTERJOIN組合左外連接和右外連接的結果,并返回連接子句兩側表中的所有(匹配或不匹配)行。接下面sojson給大家詳細講解。 ? 圖解:SQL
    的頭像 發表于 03-19 18:28 ?2273次閱讀
    <b class='flag-5'>SQL</b>全外連接剖析

    如何開始監控SQL Server環境?

    一些問題,但這既麻煩又低效,尤其是當您的環境中有許多SQL服務器時。 如果您使用監控工具,則需要有一個好的策略,這需要遵循一些經過驗證的步驟。 第1步:發現SQL服務器 發現您需要監控的所有S
    的頭像 發表于 02-28 17:25 ?423次閱讀

    為什么需要監控SQL服務器?

    如今,大多數桌面、移動、云、物聯網和其他應用程序都嚴重依賴數據庫。為了支持這些,SQL Server部署、容量和工作負載不斷增長。當這種情況發生時,企業需要確保數據系統滿足所需的性能要求。 SQL
    的頭像 發表于 02-19 17:19 ?499次閱讀

    Ubuntu 20.04如何更改用戶名

    產品簡介本文適用于所有RK3568/RK3588平臺產品在Ubuntu20.04系統上如何更改用戶名,本文以IDO-EVB3588開發板為例,在ubuntu20.04系統上修改用戶名industio
    的頭像 發表于 01-26 08:34 ?884次閱讀
    Ubuntu 20.04如何更<b class='flag-5'>改用</b>戶名
    主站蜘蛛池模板: 四虎成人在线视频| 又黄又爽又猛午夜性色播在线播放| 在线黄| 久久v| 五月综合色啪| 亚洲一区三区| 国产免费久久精品99久久| 欧美黑人性xxx猛交| 五月激情啪啪网| 91av视频免费在线观看| 69xxxxx日本护士| 757一本到午夜宫| 亚洲国产毛片aaaaa无费看| 海棠高h粗暴调教双性男男| 一级特黄色毛片免费看| 四虎最新紧急入口| 欧美大狠狠大臿蕉香蕉大视频| 美女网站黄在线看| 成人18毛片| 奇米影视久久| 全部免费特黄特色大片视频| 黑色丝袜美女被网站| 久久影院午夜伦手机不四虎卡| www午夜视频| 国产精品秒播无毒不卡| 欧美性hd| 在线www天堂资源网| 日本免费xxxx色视频| 国产在线高清精品二区色五郎| 精品毛片视频| 1024视频在线观看国产成人| 亚洲色图17p| 国产手机在线观看视频| 婷婷性| 中文天堂在线最新2022更新| 在线免费观看毛片网站| 日韩精品亚洲一级在线观看| 日本午夜大片免费观看视频| 国产一级特黄aa大片爽爽| www.亚洲色图.com| 永久在线免费观看|