日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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://m.sdkjxy.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

    文章

    807

    瀏覽量

    46964

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

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    NineData SQL AI 智能補(bǔ)全上線:寫 SQL,不必每次都從頭敲

    NineData推出SQLAI智能補(bǔ)全功能,通過(guò)AI技術(shù)實(shí)現(xiàn)上下文感知的SQL語(yǔ)句智能提示。該功能不僅能補(bǔ)全關(guān)鍵字,還能根據(jù)當(dāng)前輸入內(nèi)容預(yù)測(cè)后續(xù)查詢意圖,顯著提升多表關(guān)聯(lián)、復(fù)雜條件等場(chǎng)景下的編寫效率
    的頭像 發(fā)表于 04-01 20:19 ?331次閱讀
    NineData <b class='flag-5'>SQL</b> AI 智能補(bǔ)全上線:寫 <b class='flag-5'>SQL</b>,不必每次都從頭敲

    告別“大而全”,本屆首設(shè)“技術(shù)臨界”沉浸式體驗(yàn)專區(qū)

    告別“大而全”,本屆首設(shè)“技術(shù)臨界”沉浸式體驗(yàn)專區(qū)
    的頭像 發(fā)表于 03-27 15:16 ?164次閱讀

    SQL分析選型:DMS/DAS與NineData該如何選擇

    阿里云 DMS 的慢SQL 趨勢(shì)、DAS 的 SQL 審計(jì)能力成熟,可滿足阿里云用戶基礎(chǔ)需求。NineData 側(cè)重跨云統(tǒng)一工作臺(tái)、研發(fā)與 DBA 協(xié)同,打通慢日志分析、性能診斷、規(guī)范審核、索引建議全鏈路,更適配企業(yè)級(jí)慢查詢持續(xù)治理。
    的頭像 發(fā)表于 03-25 17:20 ?1556次閱讀
    慢<b class='flag-5'>SQL</b>分析選型:DMS/DAS與NineData該如何選擇

    NineData 社區(qū)版的慢SQL分析,比查看日志+看EXPLAIN適合中小團(tuán)隊(duì)

    本文探討 NineData 社區(qū)版在 MySQL 慢 SQL 場(chǎng)景對(duì)中小團(tuán)隊(duì)的適用性。與 “查看日志 + 看 EXPLAIN” 傳統(tǒng)方式不同,它將慢 SQL 按模板聚合,能從大盤、模板、診斷等多維
    的頭像 發(fā)表于 03-17 14:07 ?140次閱讀
    NineData 社區(qū)版的慢<b class='flag-5'>SQL</b>分析,比查看日志+看EXPLAIN適合中小團(tuán)隊(duì)

    MySQL 慢 SQL 排查這件事,NineData 社區(qū)VS DBeaver/ Navicat 技術(shù)分析

    DBeaver Community 和 Navicat Premium Lite 都是很有價(jià)值的客戶端工具,在單條 SQL 的查詢和驗(yàn)證上,依然是 DBA 最順手的入口。 但 NineData
    的頭像 發(fā)表于 03-17 11:53 ?149次閱讀
    MySQL 慢 <b class='flag-5'>SQL</b> 排查這件事,NineData 社區(qū)VS DBeaver/ Navicat 技術(shù)分析

    使用NVIDIA Nemotron RAG和Microsoft SQL Server 2025構(gòu)建高性能AI應(yīng)用

    在 Microsoft Ignite 2025 大會(huì)上,隨著 Microsoft SQL Server 2025 的發(fā)布,AI 就緒型企業(yè)數(shù)據(jù)庫(kù)愿景成為現(xiàn)實(shí),為開發(fā)者提供強(qiáng)大的新工具,例如內(nèi)置向量
    的頭像 發(fā)表于 12-01 09:31 ?1087次閱讀
    使用NVIDIA Nemotron RAG和Microsoft <b class='flag-5'>SQL</b> Server 2025構(gòu)建高性能AI應(yīng)用

    代購(gòu)系統(tǒng) API 介紹

    1. 用戶相關(guān) API 用戶注冊(cè) POST /api/users/register 參數(shù):username, email, password, phone 返回:user_id, token 用戶
    的頭像 發(fā)表于 10-08 09:21 ?439次閱讀

    告別數(shù)月等待:數(shù)字孿生場(chǎng)景生成從此進(jìn)入“日級(jí)”時(shí)代

    告別數(shù)月等待:數(shù)字孿生場(chǎng)景生成從此進(jìn)入“日級(jí)”時(shí)代
    的頭像 發(fā)表于 09-05 17:33 ?2739次閱讀
    <b class='flag-5'>告別</b>數(shù)月等待:數(shù)字孿生場(chǎng)景生成從此進(jìn)入“日級(jí)”時(shí)代

    SQL 通用數(shù)據(jù)類型

    SQL 通用數(shù)據(jù)類型 數(shù)據(jù)庫(kù)表中的每個(gè)列都要求有名稱和數(shù)據(jù)類型。Each column in a database table is required to have a name and a
    的頭像 發(fā)表于 08-18 09:46 ?887次閱讀

    兩個(gè)設(shè)備藍(lán)牙音頻改用一個(gè)怎么實(shí)現(xiàn)

    兩個(gè)設(shè)備藍(lán)牙音頻改用一個(gè)怎么實(shí)現(xiàn)
    發(fā)表于 07-22 09:28

    數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)—SQL Server數(shù)據(jù)庫(kù)被加密如何恢復(fù)數(shù)據(jù)?

    SQL Server數(shù)據(jù)庫(kù)故障: SQL Server數(shù)據(jù)庫(kù)被加密,無(wú)法使用。 數(shù)據(jù)庫(kù)MDF、LDF、log日志文件名字被篡改。
    的頭像 發(fā)表于 06-25 13:54 ?871次閱讀
    數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)—<b class='flag-5'>SQL</b> Server數(shù)據(jù)庫(kù)被加密如何恢復(fù)數(shù)據(jù)?

    達(dá)夢(mèng)數(shù)據(jù)庫(kù)常用管理SQL命令詳解

    達(dá)夢(mèng)數(shù)據(jù)庫(kù)常用管理SQL命令詳解
    的頭像 發(fā)表于 06-17 15:12 ?7691次閱讀
    達(dá)夢(mèng)數(shù)據(jù)庫(kù)常用管理<b class='flag-5'>SQL</b>命令詳解

    大促數(shù)據(jù)庫(kù)壓力激增,如何一眼定位 SQL 執(zhí)行來(lái)源?

    你是否曾經(jīng)遇到過(guò)這樣的情況:在大促活動(dòng)期間,用戶訪問(wèn)量驟增,數(shù)據(jù)庫(kù)的壓力陡然加大,導(dǎo)致響應(yīng)變慢甚至服務(wù)中斷?更讓人頭疼的是,當(dāng)你試圖快速定位問(wèn)題所在時(shí),卻發(fā)現(xiàn)難以確定究竟是哪個(gè)業(yè)務(wù)邏輯中的 SQL
    的頭像 發(fā)表于 06-10 11:32 ?686次閱讀
    大促數(shù)據(jù)庫(kù)壓力激增,如何一眼定位 <b class='flag-5'>SQL</b> 執(zhí)行來(lái)源?

    告別延遲!Ethernetip轉(zhuǎn)modbustcp網(wǎng)關(guān)在熔煉車間監(jiān)控的極速時(shí)代

    告別延遲!Ethernetip轉(zhuǎn)modbustcp網(wǎng)關(guān)在熔煉車間監(jiān)控的極速時(shí)代
    的頭像 發(fā)表于 05-20 19:20 ?524次閱讀
    <b class='flag-5'>告別</b>延遲!Ethernetip轉(zhuǎn)modbustcp網(wǎng)關(guān)在熔煉車間監(jiān)控的極速時(shí)代

    求助,關(guān)于Cypress FX3 VSYNC/HSYNC GPIFⅡ傳輸?shù)膯?wèn)題求解

    WT_GPIF_CONFIG 1 #定義 WT_GPIF_ADDR_COUNT_LIMIT 34 #定義 WT_GPIF_DATA_COUNT_LIMIT 39 緩沖區(qū)大小 = 39904; dmaCfg.size
    發(fā)表于 05-13 06:17
    醴陵市| 泽州县| 洪泽县| 德昌县| 天祝| 麟游县| 大渡口区| 余江县| 清原| 扎兰屯市| 陆河县| 沙河市| 望奎县| 济源市| 曲阳县| 荣成市| 靖宇县| 绥化市| 金坛市| 永嘉县| 桐乡市| 鞍山市| 莲花县| 林西县| 历史| 永昌县| 雅安市| 汝城县| 双鸭山市| SHOW| 尼木县| 石棉县| 哈尔滨市| 青川县| 沁源县| 湖口县| 丘北县| 白银市| 湘乡市| 筠连县| 昭觉县|