色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

SQL告別count改用LIMIT 1

數(shù)據(jù)分析與開發(fā) ? 來(lái)源:今日頭條 ? 作者:程序猿囧途 ? 2021-07-26 10:57 ? 次閱讀

根據(jù)某一條件從數(shù)據(jù)庫(kù)表中查詢 『有』與『沒(méi)有』,只有兩種狀態(tài),那為什么在寫SQL的時(shí)候,還要SELECT count(*) 呢?無(wú)論是剛?cè)氲赖?a href="http://www.1cnz.cn/v/tag/1730/" target="_blank">程序員新星,還是精湛沙場(chǎng)多年的程序員老白,都是一如既往的count

目前多數(shù)人的寫法

多次REVIEW代碼時(shí),發(fā)現(xiàn)如現(xiàn)現(xiàn)象:業(yè)務(wù)代碼中,需要根據(jù)一個(gè)或多個(gè)條件,查詢是否存在記錄,不關(guān)心有多少條記錄。普遍的SQL及代碼寫法如下

##### SQL寫法:

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

##### Java寫法:

int nums = xxDao.countXxxxByXxx(params);

if ( nums 》 0 ) {

//當(dāng)存在時(shí),執(zhí)行這里的代碼

} else {

//當(dāng)不存在時(shí),執(zhí)行這里的代碼

}

是不是感覺(jué)很OK,沒(méi)有什么問(wèn)題

優(yōu)化方案

推薦寫法如下:

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

##### Java寫法:

Integer exist = xxDao.existXxxxByXxx(params);

if ( exist != NULL ) {

//當(dāng)存在時(shí),執(zhí)行這里的代碼

} else {

//當(dāng)不存在時(shí),執(zhí)行這里的代碼

}

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

總結(jié)

根據(jù)查詢條件查出來(lái)的條數(shù)越多,性能提升的越明顯,在某些情況下,還可以減少聯(lián)合索引的創(chuàng)建。

編輯:jq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • SQL
    SQL
    +關(guān)注

    關(guān)注

    1

    文章

    766

    瀏覽量

    44161

原文標(biāo)題:SQL 查找是否"存在",別再 count 了!

文章出處:【微信號(hào):DBDevs,微信公眾號(hào):數(shù)據(jù)分析與開發(fā)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

    SQL錯(cuò)誤代碼及解決方案

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

    常用SQL函數(shù)及其用法

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

    SQL與NoSQL的區(qū)別

    在信息技術(shù)領(lǐng)域,數(shù)據(jù)庫(kù)是存儲(chǔ)和管理數(shù)據(jù)的核心組件。隨著互聯(lián)網(wǎng)的發(fā)展和大數(shù)據(jù)時(shí)代的到來(lái),對(duì)數(shù)據(jù)庫(kù)的需求也在不斷變化。SQL和NoSQL作為兩種主流的數(shù)據(jù)庫(kù)管理系統(tǒng),各自有著獨(dú)特的優(yōu)勢(shì)和應(yīng)用場(chǎng)
    的頭像 發(fā)表于 11-19 10:15 ?179次閱讀

    大數(shù)據(jù)從業(yè)者必知必會(huì)的Hive SQL調(diào)優(yōu)技巧

    不盡人意。本文針對(duì)Hive SQL的性能優(yōu)化進(jìn)行深入研究,提出了一系列可行的調(diào)優(yōu)方案,并給出了相應(yīng)的優(yōu)化案例和優(yōu)化前后的SQL代碼。通過(guò)合理的優(yōu)化策略和技巧,能夠顯著提升Hive SQL的執(zhí)行效率和響應(yīng)速度。 關(guān)鍵詞: Hive
    的頭像 發(fā)表于 09-24 13:30 ?277次閱讀

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

    數(shù)據(jù)庫(kù)在各個(gè)領(lǐng)域的逐步應(yīng)用,其安全性也備受關(guān)注。SQL 注入攻擊作為一種常見的數(shù)據(jù)庫(kù)攻擊手段,給網(wǎng)絡(luò)安全帶來(lái)了巨大威脅。今天我們來(lái)聊一聊SQL 注入攻擊的基本知識(shí)。 SQL 注入攻擊的基本原理
    的頭像 發(fā)表于 08-05 17:36 ?324次閱讀

    恒訊科技分析:sql數(shù)據(jù)庫(kù)怎么用?

    SQL數(shù)據(jù)庫(kù)的使用通常包括以下幾個(gè)基本步驟: 1、選擇數(shù)據(jù)庫(kù)系統(tǒng): 選擇適合您需求的SQL數(shù)據(jù)庫(kù)系統(tǒng),如MySQL、PostgreSQL、Microsoft SQL Server、SQ
    的頭像 發(fā)表于 07-15 14:40 ?366次閱讀

    什么是 Flink SQL 解決不了的問(wèn)題?

    簡(jiǎn)介 在實(shí)時(shí)數(shù)據(jù)開發(fā)過(guò)程中,大家經(jīng)常會(huì)用 Flink SQL 或者 Flink DataStream API 來(lái)做數(shù)據(jù)加工。通常情況下選用2者都能加工出想要的數(shù)據(jù),但是總會(huì)有 Flink SQL
    的頭像 發(fā)表于 07-09 20:50 ?327次閱讀

    ESP-IDF V5.2使用pnct例程時(shí)得到的脈沖數(shù)總是為1是什么原因?qū)е碌模?/a>

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

    請(qǐng)問(wèn)stm32cubeide怎么取ImageER_IROM1Limit?

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

    SQL全外連接剖析

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

    如何開始監(jiān)控SQL Server環(huán)境?

    一些問(wèn)題,但這既麻煩又低效,尤其是當(dāng)您的環(huán)境中有許多SQL服務(wù)器時(shí)。 如果您使用監(jiān)控工具,則需要有一個(gè)好的策略,這需要遵循一些經(jīng)過(guò)驗(yàn)證的步驟。 第1步:發(fā)現(xiàn)SQL服務(wù)器 發(fā)現(xiàn)您需要監(jiān)控的所有S
    的頭像 發(fā)表于 02-28 17:25 ?410次閱讀

    為什么需要監(jiān)控SQL服務(wù)器?

    如今,大多數(shù)桌面、移動(dòng)、云、物聯(lián)網(wǎng)和其他應(yīng)用程序都嚴(yán)重依賴數(shù)據(jù)庫(kù)。為了支持這些,SQL Server部署、容量和工作負(fù)載不斷增長(zhǎng)。當(dāng)這種情況發(fā)生時(shí),企業(yè)需要確保數(shù)據(jù)系統(tǒng)滿足所需的性能要求。 SQL
    的頭像 發(fā)表于 02-19 17:19 ?484次閱讀

    Ubuntu 20.04如何更改用戶名

    產(chǎn)品簡(jiǎn)介本文適用于所有RK3568/RK3588平臺(tái)產(chǎn)品在Ubuntu20.04系統(tǒng)上如何更改用戶名,本文以IDO-EVB3588開發(fā)板為例,在ubuntu20.04系統(tǒng)上修改用戶名industio
    的頭像 發(fā)表于 01-26 08:34 ?862次閱讀
    Ubuntu 20.04如何更<b class='flag-5'>改用</b>戶名

    如何用Rust過(guò)程宏魔法簡(jiǎn)化SQL函數(shù)呢?

    這是 RisingWave 中一個(gè) SQL 函數(shù)的實(shí)現(xiàn)。只需短短幾行代碼,通過(guò)在 Rust 函數(shù)上加一行過(guò)程宏,我們就把它包裝成了一個(gè) SQL 函數(shù)。
    的頭像 發(fā)表于 01-23 09:43 ?975次閱讀
    如何用Rust過(guò)程宏魔法簡(jiǎn)化<b class='flag-5'>SQL</b>函數(shù)呢?
    主站蜘蛛池模板: 91福利在线观看| 虫族bl文全肉高h| 亚洲精品无码不卡| 亚洲精品国产精品麻豆99| 亚洲国产成人综合| 一个人日本的视频免费完整版 | 国产 高清 无码 在线播放| 穿白丝袜边走边尿白丝袜| 国产精品久人妻精品| 果冻传媒在线完整免费播放| 久久99热这里只频精品6| 美女脱三角裤| 日本大片免a费观看视频| 午夜久久影院| 永久免费精品影视网站| 99久久人妻无码精品系列性欧美 | 午夜日本大胆裸艺术| 亚洲乱码一区二区三区香蕉| 综合色就爱涩涩涩综合婷婷| ppypp日本欧美一区二区| 国产精品九九久久| 久久福利影院| 免费看片A级毛片免费看| 色综合久久网女同蕾丝边| 亚洲精品久久久久中文字幕二区| 稚嫩挤奶h调教h| 第一福利视频网站在线| 黑人干肥婆| 欧美gay老头互吃| 午夜插插插| 5g天天影院天天看天天爽| 高h gl肉文| 久久日本片精品AAAAA国产| 青青青久久久| 亚洲精品久久7777777| 99免费在线观看| 国产在线高清视频无码不卡| 男生jj插入女生jj| 亚洲国产成人久久一区www妖精| 99久久99久久精品国产片果冻| 国产免费久久精品国产传媒|