not in與 id!=效率對比分析
not in的效率並不高,這個大家都知道,
但還有比not in效率更不高的。
今天檢視慢查詢記錄檔案,發現了一個神器的sql,具體寫法就不說了,類似於這種:SELECT * from kills where id != '12323' and id != '13323' and id != '478732'
當時我好奇心就來了,這種為毛不寫成select * from kills where id not in('12323', '13323', '478732')呢,難道第一種效率更高?如果不是,那不是吃力不討好麼?
然後我就試了下,我的資料庫有記錄五十八萬條,然後分別執行這兩者的話,第一個的執行效率一般在0.5S多,第二條在0.4S多。雖然快了並不多。
但是,後一種寫起來更簡單啊,更快啊,到底什麼情況讓有人寫第一種呢(興許是維護的過程中,後來者圖省事兒,再後來者看,恩?前任都這麼寫的。就也這麼寫了。)
相關推薦
not in與 id!=效率對比分析
not in的效率並不高,這個大家都知道, 但還有比not in效率更不高的。 今天檢視慢查詢記錄檔案,發現了一個神器的sql,具體寫法就不說了,類似於這種:SELECT * from kills where id != '12323' and id != '13323'
路由器與防火墻對比分析
路由器 防火墻 安全策略 會話 包過濾 在目前中小網絡中越來越多的使用防火墻替代路由器作為網絡出口設備,這也導致了很多年輕的網工分不清路由器與防火墻到底有什麽區別,簡單的認為防火墻能防攻擊,特別是目前的防火墻集成了很多上網行為管理和IPS的功能,更容易掩蓋防火墻本身最核心的功能。 下
MPLS VPN與IPSec VPN對比分析
端到端 網絡 res 其它 等價 工作 異步傳輸 prot 因特網 轉:http://www.xzbu.com/8/view-7456625.htm 1 引言 互聯網的快速發展大大促進了信息資源的交流,與此同時,人們對頻繁出現的安全保密問題也愈加關註。通過傳統的方式構建
StringBuffer與StringBuilder異同對比分析
ava 但是 原因 碎片 內存碎片 字符 使用字符串 指針 builder Java的字符類String、StringBuffer與StringBuilder異同對比分析 Java String是一個“不可變常量字符串”對象,final屬性定義。之所以這麽說,是從St
Oracle,用left join 替代 exists ,not exists,in , not in,提高效率
.cn rom mage png 高效 pan div sele bsp Not IN問題 Exists,not Exists,in,not in 例如: DELETE FROM YSHA WHERE NOT EXISTS(SELECT 1 FROM YSHB B
轉 [ORACLE]詳解not in與not exists的區別與用法(not in的性能並不差!)
values 我們 and ons 一點 pla 出現 開始 min 在網上搜了下關於oracle中not exists和not in性能的比較,發現沒有描述的太全面的,可能是問題太簡單了,達人們都不屑於解釋吧。於是自己花了點時間,試圖把這個問題簡單描述清楚,其實歸根結底一
關於R與Python效率對比的問題
久聞世界上最慢的語言是Python, 比Python還要慢的語言是R 聽聞numpy是舉世聞名的高效科學計算庫? 來我們來看看100萬次迴圈後的結果... Python import numpy as np import matplotlib.pyplot as plt import
PHP伺服器Apache與Nginx的對比分析
PHP伺服器Apache與Nginx的對比分析 Apache與Nginx的優缺點比較 1、nginx相對於apache的優點: 輕量級,同樣起web 服務,比apache 佔用更少的記憶體及資源 抗併發,nginx 處理請求是非同步非阻塞的,而apache 則是阻塞型的,在高併
RTU與DTU的對比分析大盤點 DTU測試需要做什麼
RTU是什麼: RTU(RemoteTerminalUnit)是構成企業綜合自動化系統的核心裝置,通常由訊號輸入/出模組、微處理器、有線/無線通訊裝置、電源及外殼等組成,由微處理器控制,並支援網路系統。它通過自身的軟體(或智慧軟體)系統,可理想地實現企業中央監控與排程系統對生產現場一次儀
nb-iot技術的特點 NB-IoT與LoRa技術對比分析
NB-IoT是IoT領域一個新興的技術,支援低功耗裝置在廣域網的蜂窩資料連線,也被叫作低功耗廣域網(LPWA)。NB-IoT支援待機時間長、對網路連線要求較高裝置的高效連線。 NB-IoT具備四大特點: 頻譜窄:200kHz;終端發射窄帶訊號提升了
ORACLE]詳解not in與not exists的區別與用法
轉自 http://blog.sina.com.cn/s/blog_6ff05a2c0100tref.html 在網上搜了下關於oracle中not exists和not in效能的比較,發現沒有描述的太全面的,可能是問題太簡單了,達人們都不屑於解釋吧。於是自己花了點
#簡單演算法知識--選擇排序(與氣泡排序對比分析)
氣泡排序程式碼: 1,-23,-6,0,34,2,87,43,-65 //表示有多少輪比較 for(int i = 1;i<=arr.length-1;i++){ //表是每輪需要比較的次數 for(int j = 1;j<=arr.length-i;j++){
關於Rest Framework中View、APIView與GenericAPIView的對比分析
1)APIView(rest_framework.views.APIView)APIView是REST framework提供的所有檢視的基類,繼承自Django的View父類。APIView與View的不同之處在於:傳入到檢視方法中的是REST framework的Requ
JAVA資料集合:Set與Get效率對比
1 例項測試程式碼 <pre name="code" class="java"> // 1 ArrayList set sort elements and list elements public static void printArrList
mysql中in與exists效率比較
這條語句適用於a表比b表大的情況 select * from ecs_goods a where cat_id in(select cat_id from ecs_category); 這條語句適用於b表比a表大的情況select * from ecs_goods
多執行緒計算pi效率對比分析
繼續昨天的計算pi的程式 分配不同的執行緒數量得到的不同的執行時間對比 可以看到很明顯的 從一個執行緒變成兩個執行緒確實時間減少了一般左右,但是繼續增加執行緒數量卻不怎麼影響結果。這是因為我電腦的CPU型號為Intel 酷睿i3 370M,雙核四執行緒 ,所以雙執行緒
C 與 JAVA 的對比分析
Sun 公司推出的Java 是面向物件程式設計語言,其適用於Internet 應用的開發,稱為網路時代重要的語言之一。Java 可以用認為是C 的衍生語言,與C 在大量元以內成分保持相同,例如此法結構、表示式語句、運算子等與C基本一致:但Java更簡潔,沒有C中冗餘
not in 與not exists區別
1、對於not exists查詢,內表存在空值對查詢結果沒有影響;對於not in查詢,內表存在空值將導致最終的查詢結果為空。 2、對於not exists查詢,外表存在空值,存在空值的那條記錄最終會輸出;對於not in查詢,外表存在空值,存在空值的那條記錄最終
in,exists和not exists ,not in與null的一些關係記載
In和exist,not in和not exists,其中可能還有null,一直是個很糾結的問題,直到現在自己也不能完全說出兩種語句的優劣,使用情況等。 先從查詢結果上來講,上個星期五pub的一篇帖子說到了not in和not exists查詢結果不同,記得曾經碰到過這種
Spark Streaming與Storm的對比分析
一、Spark Streaming與Storm的對比 二、Spark Streaming與Storm的優劣分析 事實上,Spark Streaming絕對談不上比Storm優秀。這兩個框架在實時計算領域中,都很優秀,只是擅長的細分場景並不相同。 Spark S