1. 程式人生 > >書寫SQL語句的一些小技巧

書寫SQL語句的一些小技巧

tips:一句“select *”可以讓你的逼格直接掉成0

負向條件查詢不會使用索引

儘量避免not in/not exits的語句,改為使用in查詢

select * from table where flag in (1,2)

在欄位上進行計算不能使用索引

所以這樣的語句是沒有效率的

select * from table where YEAR(date) < = '2017'

合理的方法應該是將計算放到值上面

儘量使用not null約束欄位

允許為null,查詢的時候有匪夷所思的坑

只有一條結果的查詢,加上limit 1

因為資料庫不知道查詢結果到底有多少,所以這裡資料庫主動停止查詢

查詢的時候,注意型別轉換

如果你的欄位值是char型別 ,就不要傳入一個int型別,強制型別轉換之後,並不會使用到索引,會全表掃描

儘量將計算放在業務層而不是資料庫

言下之意,就是儘量用你的php啊,java啊之類的操作計算,不要將計算放在sql語句裡面

相關推薦

書寫SQL語句一些技巧

tips:一句“select *”可以讓你的逼格直接掉成0 負向條件查詢不會使用索引 儘量避免not in/not exits的語句,改為使用in查詢 select * from table where flag in (1,2) 在欄位上進行計算不能使

Liferay 7 OSGi的一些技巧

liferay packages res ges shell portlet 依賴 include log 如果部署一個portlet到Liferay上,編譯沒有出現任何錯誤,卻提示有沒有解決的依賴,可能出現的問題是,我們這個portlet所需要的這個jar包在這個OSGi

sql 之優化技巧

小技巧 存儲過程 count aid uic 不返回 .com 網絡通信 計數 SET NOCOUNT ON :不返回計數,如果存儲過程中包含一些並不返回實際數據的語句,網絡通信流量便會大量減少,可以顯著提高應用程序性能;sql 之優化小技巧

vim一些技巧

小技巧 編輯器 組合鍵 鍵盤vi 1.vim編輯器的替換模式與可視模式在一般模式下按鍵盤上的r和R進入替換模式。如果按小r那麽這時候就進入了替換模式,你下一個輸入的字符會把你當前光標所在處的字符替換,然後自動退出替換模式。如果你按的是大R那麽你下面輸入的所有字符會把後面的字符依次替換,直到按退

JS開發中的一些技巧和方法

hello floor apply subst shuf 新的 情況 level 可能 生成指定範圍內的隨機數 當我們需要獲取指定範圍(min,max)內的整數的時候,下面的代碼非常適合;這段代碼用的還挺多的。 function setRadomNum(min,m

Java在處理大數據的時候一些技巧

主線程 成本 寫入 exce 得到 拆分 是的 很多 會有  http://soft.chinabyte.com/database/258/12609258.shtml 眾所周知,java在處理數據量比較大的時候,加載到內存必然會導致內存溢出,而在一些數據處理中我們不得不去

獻身說法---修復bug時的一些技巧

throw 修復bug () 關閉 遠程 style pre col 文件 最近,修復了項目當中的一些bug,覺著有些思路可以分享出來供大家借鑒。 場景一 開發環境中系統正常運行,測試環境中,部分機器未能正常運行。 解決過程:遠程連接了測試環境中的機器,觀察了系統的運行情況

webstorm的一些技巧

覆蓋 左右 tor color 字體 web 保存 行號 log 1.怎樣禁止自動保存文件:   設置--->外觀和行為--->常規--->Synchronization--->要麽四個全不選,要麽把最後兩個不選   Settings--->

關閉Xshell警告音等一些技巧

甘兵 xshell xshell關閉聲音 xshell使用技巧 一、關閉Xshell警告音相信很多朋友在使用Xshell的過程中都遇到過,有時候按Tab補全鍵老是發出翁翁刺耳的聲音,下面介紹一個小方法可以解決這個現象:“工具”--“選項”--勾選“禁用鈴聲”,如下圖:二、在使用Xshell時,

多路由器環境配置的一些技巧(達內)

總結 color 條目 nag 知識 rip路由 內網 限制 images rip 的簡單應用,希望通過這個可以讓幹運維的同仁輕松一點實驗拓撲圖:實驗需求:當內網中有很多路由器或多層交換機是,不同網段間通信 ,需要配置動態路由,如手動配置很浪費時間,容易出錯,可以選擇使用r

js 中的一些技巧

技巧 def 對象 bar 維護 方式 undefine can 常用 js 數字操作: 1.1 取整: 取整有很多方法如: parseInt(a,10); Math.floor(a); a>>0; ~~a; a|0; 前面2種是經常用到的,後面3中算是比

html5的一些技巧,持續補充ing

pre 補充 body 小技巧 input log gpo date 自動 HTML <label> 標簽的 for 屬性 用處:項目中常有點擊label標簽自動勾選/取消radio的需求,之前都是js動態實現的啊啊啊,相見恨晚,23333 顯式的聯系:

SQL語句常用優化技巧

str sts rop select string 避免 什麽 是的 bstr 提高SQL語句的執行效率,最常見的方法就是建立索引,以及盡量避免全表掃描。 ①.避免在where子句中使用 is null 或 is not null 對字段進行判斷。 如:select id

ViewPager使用中的一些技巧

android viewpager 懶加載 1、使用setOffscreenPageLimit()方法可以限制它一次加載幾頁,它的默認值1,google建議也是維護一下小的加載頁數3-4; 但是只要手機性能稍微弱一點和系統內存更不上,都會導致切換的時候出現部分數據顯示不出,白屏;尤其是在紅米系統,

2018-05-22 CSS 左右布局、左中右布局以及一些技巧

add www. 分享 適應 line -o pad 默認 改變 1、左右布局 如果有以下html結構,設置左右兩欄布局 <div class="parent"> <div class="leftChild"></div> <

Laravel模型的一些技巧

傳統 產品 來源 這才 弊端 獲取 接收 圖片路徑 spa 隱藏字段 我在項目遇到的情景是,當使用關聯模型獲取數據的時候,比如產品模型和圖片模型,通過產品模型來關聯圖片模型,這個時候我只需要圖片模型的圖片地址字段,其他的字段不讓產品模型看到;以這個場景為實例,我們通過代碼實

WebStorm及emmet插件使用中的一些技巧(持續更新)

TE sublime 上一個 最大化 lpad prev web 組成 toggle Ctrl+/ 或 Ctrl+Shift+/ 註釋(// 或者/*…*/ ) Shift+F6 重構-重命名 Ctrl+X 刪除行 Ctrl+D 復制行 Ctrl+G

jquery操作復選框(checkbox)的一些技巧總結

方式 undefine 關系 this 選擇 checkbox clas AR 1.7 1、獲取單個checkbox選中項(三種寫法) $("input:checkbox:checked").val()或者$("input:[type=‘checkbox‘]:chec

Android開發的一些技巧

本篇講述的是Android開發中遇到的一些好用的小技巧,或者一些實用的API,很多人都知道,但也有人不知道,記錄下來,如果能幫助到大家,也是極好的.有些工具和類我也會經常用,所以我會根據自己的想法去寫.有些地方坐在並沒有將這個工具的作用講出來,我會補充上去. 正文: Environ

Mybatis的一些技巧

提升sql執行效率的小技巧 <!--為什麼要這麼寫?這樣寫可以提高sql的執行效率。而寫*,需要Oracle去資料庫查出欄位名,再拼接查詢--> <sql id="Base_Column_List" > ID, PRO_PARAM_DETAIL_ID, START_