99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

SQL和Java的代碼寫(xiě)法

數(shù)據(jù)分析與開(kāi)發(fā) ? 來(lái)源:CSDN技術(shù)社區(qū) ? 作者:CSDN技術(shù)社區(qū) ? 2020-10-21 10:35 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

根據(jù)某一條件從數(shù)據(jù)庫(kù)表中查詢 『有』與『沒(méi)有』,只有兩種狀態(tài),那為什么在寫(xiě)SQL的時(shí)候,還要select count(*) 呢?

無(wú)論是剛?cè)氲赖?a href="http://www.socialnewsupdate.com/v/tag/1730/" target="_blank">程序員新星,還是精湛沙場(chǎng)多年的程序員老白,都是一如既往的count.

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

多次 review 代碼時(shí),發(fā)現(xiàn)如現(xiàn)現(xiàn)象:

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

SQL寫(xiě)法:

Java寫(xiě)法:

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

優(yōu)化方案

推薦寫(xiě)法如下:

SQL寫(xiě)法:

Java寫(xiě)法:

SQL不再使用count,而是改用LIMIT 1,讓數(shù)據(jù)庫(kù)查詢時(shí)遇到一條就返回,不要再繼續(xù)查找還有多少條了

業(yè)務(wù)代碼中直接判斷是否非空即可

總結(jié)

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(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)投訴
  • JAVA
    +關(guān)注

    關(guān)注

    20

    文章

    2989

    瀏覽量

    109854
  • SQL
    SQL
    +關(guān)注

    關(guān)注

    1

    文章

    783

    瀏覽量

    45167

原文標(biāo)題:SQL判斷是否"存在",還在用 count 操作?很耗時(shí)的!

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    如何通過(guò)注解來(lái)優(yōu)化我們的Java代碼

    Java注解可以說(shuō)是我們編碼過(guò)程中最常用的。本篇文章將給大家介紹Java注解的概念、作用以及如何使用注解來(lái)提升代碼的可讀性和靈活性,并介紹如何通過(guò)注解來(lái)優(yōu)化我們的Java
    的頭像 發(fā)表于 09-30 11:39 ?937次閱讀

    嵌入式SQL的相關(guān)資料分享

    1嵌入式SQL嵌入式SQL是指將SQL語(yǔ)言嵌入到程序設(shè)計(jì)語(yǔ)言中,被嵌入得程序設(shè)計(jì)語(yǔ)言如C、C++、java等稱為宿主語(yǔ)言預(yù)編譯:由數(shù)據(jù)庫(kù)管理系統(tǒng)得預(yù)處理程序隊(duì)源程序進(jìn)行掃描,識(shí)別出嵌入
    發(fā)表于 11-09 06:24

    JAVA版聊天軟件源代碼

    JAVA版聊天軟件源代碼 一款用JAVA制作開(kāi)發(fā)的小型聊天軟件,里面附有安裝程序和JAVA代碼。.rar
    發(fā)表于 03-11 14:21 ?0次下載

    如何使用Java Web防范SQL 注入攻擊的資料說(shuō)明

    網(wǎng)絡(luò)的廣泛應(yīng)用給社會(huì)帶來(lái)極大便捷,網(wǎng)絡(luò)安全特別是SQL 注入也成為了一個(gè)倍受關(guān)注的問(wèn)題。與此同時(shí),Java Web 由于其平臺(tái)無(wú)關(guān)性、“一次編寫(xiě)、隨處運(yùn)行”,使得越來(lái)越多的程序員加入到Java 當(dāng)中。本文在分析了
    發(fā)表于 02-26 15:59 ?12次下載
    如何使用<b class='flag-5'>Java</b> Web防范<b class='flag-5'>SQL</b> 注入攻擊的資料說(shuō)明

    使用java語(yǔ)言導(dǎo)入SQL到MySql的源代碼免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用java語(yǔ)言導(dǎo)入SQL到MySql的源代碼免費(fèi)下載。
    發(fā)表于 09-23 16:38 ?3次下載
    使用<b class='flag-5'>java</b>語(yǔ)言導(dǎo)入<b class='flag-5'>SQL</b>到MySql的源<b class='flag-5'>代碼</b>免費(fèi)下載

    Java異常的習(xí)題和代碼分析

    Java異常的習(xí)題和代碼分析
    發(fā)表于 07-08 14:54 ?5次下載
    <b class='flag-5'>Java</b>異常的習(xí)題和<b class='flag-5'>代碼</b>分析

    SQL告別count改用LIMIT 1

    的count 目前多數(shù)人的寫(xiě)法 多次REVIEW代碼時(shí),發(fā)現(xiàn)如現(xiàn)現(xiàn)象:業(yè)務(wù)代碼中,需要根據(jù)一個(gè)或多個(gè)條件,查詢是否存在記錄,不關(guān)心有多少條記錄。普遍的SQL
    的頭像 發(fā)表于 07-26 10:57 ?2311次閱讀

    RushOrm將java類映射到SQL表來(lái)取代對(duì)SQL的需求

    RushOrm 通過(guò)將 java 類映射到 SQL 表來(lái)取代對(duì) SQL 的需求。 為什么要編寫(xiě) RushOrm? 復(fù)雜的關(guān)系 - RushObjects 支持其他 RushObjects 的列表
    發(fā)表于 04-13 09:59 ?2次下載

    JAVA8提供了Optional類來(lái)優(yōu)化這種寫(xiě)法

    這種寫(xiě)法是比較丑陋的,為了避免上述丑陋的寫(xiě)法,讓丑陋的設(shè)計(jì)變得優(yōu)雅。JAVA8提供了Optional類來(lái)優(yōu)化這種寫(xiě)法,接下來(lái)的正文部分進(jìn)行詳細(xì)說(shuō)明
    的頭像 發(fā)表于 04-24 15:18 ?1362次閱讀

    Java中如何解析、格式化、生成SQL語(yǔ)句?

    昨天在群里看到有小伙伴問(wèn),Java里如何解析SQL語(yǔ)句然后格式化SQL,是否有現(xiàn)成類庫(kù)可以使用?
    的頭像 發(fā)表于 04-10 11:59 ?1299次閱讀

    基于JAVA+SQL電子通訊錄帶系統(tǒng)托盤(pán)(源代碼及配置文檔)

    基于JAVA+SQL電子通訊錄帶系統(tǒng)托盤(pán)(源代碼及配置文檔)
    發(fā)表于 06-09 16:07 ?0次下載

    SQL MySQL編寫(xiě)技巧:行與行比較的功能

    實(shí)現(xiàn)簡(jiǎn)單,SQL 也能走索引,而且只查詢一次數(shù)據(jù)庫(kù),感覺(jué)可行 只是:有點(diǎn)不好理解,因?yàn)槲覀兤綍r(shí)這么用的少,所以這種寫(xiě)法看起來(lái)很陌生 另外,行行比較是 SQL 規(guī)范,不是某個(gè)關(guān)系型數(shù)據(jù)庫(kù)的規(guī)范,也就說(shuō)關(guān)系型數(shù)據(jù)庫(kù)都應(yīng)該支持這種
    發(fā)表于 07-17 09:51 ?604次閱讀
    <b class='flag-5'>SQL</b> MySQL編寫(xiě)技巧:行與行比較的功能

    什么是SQL注入?Java項(xiàng)目防止SQL注入方式

    Java項(xiàng)目防止SQL注入方式 這里總結(jié)4種: PreparedStatement防止SQL注入 mybatis中#{}防止SQL注入 對(duì)請(qǐng)求參數(shù)的敏感詞匯進(jìn)行過(guò)濾 ngin
    發(fā)表于 10-16 14:26 ?839次閱讀

    insert into 語(yǔ)句的三種寫(xiě)法

    INSERT INTO是MySQL中常用的一種SQL語(yǔ)句,用于將數(shù)據(jù)插入到表中。此文將詳細(xì)介紹INSERT INTO語(yǔ)句的三種不同寫(xiě)法及其用途,并提供代碼示例和相關(guān)解釋。 正文: 一、基本插入
    的頭像 發(fā)表于 11-21 14:18 ?1.5w次閱讀

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

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