校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > 數據庫sql語句優化

數據庫sql語句優化

熱門標簽:電銷機器人各個細節介紹 百度地圖標注后不顯示 溫州瑞安400電話怎么申請 昆明電信400電話辦理 南昌高頻外呼系統哪家公司做的好 電話機器人市場趨勢 電銷機器人 行業 淄博400電話申請 俄國地圖標注app

為什么要優化:

隨著實際項目的啟動,數據庫經過一段時間的運行,最初的數據庫設置,會與實際數據庫運行性能會有一些差異,這時我們 就需要做一個優化調整。

數據庫優化這個課題較大,可分為四大類:

  • 》主機性能
  • 》內存使用性能
  • 》網絡傳輸性能
  • 》SQL語句執行性能【軟件工程師】

下面列出一些數據庫SQL優化方案:

(01)選擇最有效率的表名順序(筆試常考)

數據庫的解析器按照從右到左的順序處理FROM子句中的表名,FROM子句中寫在最后的表將被最先處理,在FROM子句中包含多個表的情況下,你必須選擇記錄條數最少的表放在最后,如果有3個以上的表連接查詢,那就需要選擇那個被其他表所引用的表放在最后。

例如:查詢員工的編號,姓名,工資,工資等級,部門名

select emp.empno,emp.ename,emp.sal,salgrade.grade,dept.dname
from salgrade,dept,emp
where (emp.deptno = dept.deptno) and (emp.sal between salgrade.losal and salgrade.hisal) 

1)如果三個表是完全無關系的話,將記錄和列名最少的表,寫在最后,然后依次類推

2)如果三個表是有關系的話,將引用最多的表,放在最后,然后依次類推

(02)WHERE子句中的連接順序(筆試常考)

數據庫采用自右而左的順序解析WHERE子句,根據這個原理,表之間的連接必須寫在其他WHERE條件之左,那些可以過濾掉最大數量記錄的條件必須寫在WHERE子句的之右。

例如:查詢員工的編號,姓名,工資,部門名

select emp.empno,emp.ename,emp.sal,dept.dname
from emp,dept
where (emp.deptno = dept.deptno) and (emp.sal > 1500)

(03)SELECT子句中避免使用*號

數據庫在解析的過程中,會將*依次轉換成所有的列名,這個工作是通過查詢數據字典完成的,這意味著將耗費更多的時間

select empno,ename from emp;

(04)用TRUNCATE替代DELETE

(05)盡量多使用COMMIT

因為COMMIT會釋放回滾點

(06)用WHERE子句替換HAVING子句

WHERE先執行,HAVING后執行

(07)多使用內部函數提高SQL效率

(08)使用表的別名

salgrade s

(09)使用列的別名

ename e

總之,數據庫優化不是一天的課題,你得在長期工作實踐中,進行反復測試與總結,希望學員們日后好好領會

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關內容請查看下面相關鏈接

您可能感興趣的文章:
  • 基于mysql+mycat搭建穩定高可用集群負載均衡主備復制讀寫分離操作
  • mycat在windows環境下的安裝和啟動
  • 利用mycat實現mysql數據庫讀寫分離的示例
  • MyBatis利用MyCat實現多租戶的簡單思路分享
  • mysql mycat 中間件安裝與使用
  • 數據庫查詢優化之子查詢優化
  • 數據庫的四種隔離級別
  • 基于MySQL數據庫的數據約束實例及五種完整性約束介紹
  • Mysql數據庫亂碼問題的對應方式
  • 數據庫中間件MyCat的介紹

標簽:安徽 嘉峪關 洛陽 拉薩 甘南 葫蘆島 海口 吐魯番

巨人網絡通訊聲明:本文標題《數據庫sql語句優化》,本文關鍵詞  數據庫,sql,語句,優化,數據庫,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《數據庫sql語句優化》相關的同類信息!
  • 本頁收集關于數據庫sql語句優化的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 岳池县| 鄂托克前旗| 全椒县| 神池县| 姚安县| 新巴尔虎右旗| 霍城县| 阿拉善盟| 白沙| 海丰县| 淳化县| 泗洪县| 临安市| 洛阳市| 丰县| 瓮安县| 辽宁省| 凉山| 饶阳县| 新宁县| 临夏市| 射阳县| 无棣县| 都兰县| 外汇| 尖扎县| 开封市| 昌图县| 华亭县| 阳新县| 林甸县| 香河县| 定安县| 武宁县| 龙陵县| 鄂伦春自治旗| 丘北县| 苗栗市| 交口县| 霍山县| 鄂伦春自治旗|