Oracle查詢優化改寫技巧與案例

Oracle查詢優化改寫技巧與案例 下載 mobi epub pdf 電子書 2024


簡體網頁||繁體網頁
有教無類,落落 著



點擊這裡下載
    

想要找書就要到 圖書大百科
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

發表於2024-12-24

類似圖書 點擊查看全場最低價


圖書介紹

齣版社: 電子工業齣版社
ISBN:9787121247101
版次:1
商品編碼:11587404
品牌:Broadview
包裝:平裝
開本:16開
齣版時間:2015-01-01
用紙:膠版紙
頁數:394
字數:520000
正文語種:中文


相關圖書





圖書描述

産品特色

編輯推薦

  字典式寫作手法:不講具體語法,沒有簡單知識堆砌,直接以案例形式講技巧與案例
  大量優化實戰方法:將主要SQL優化點一一剖析,分享大量SQL優化的實際工作經驗
  50餘改寫調優案例:覆蓋大多數DBA日常工作場景,具有相當大的實用價值
  技巧+案例:可以作為DBA的參考手冊,也可以作為開發人員編寫SQL的速查字典



內容簡介

  《Oracle查詢優化改寫技巧與案例》不講具體語法,隻是以案例的形式介紹各種查詢語句的用法。
  《Oracle查詢優化改寫技巧與案例》第1~4章是基礎部分,講述瞭常用的各種基礎語句,以及常見的錯誤和正確語句的寫法。這部分的內容應熟練掌握,因為日常查詢和優化改寫都要用到。
  《Oracle查詢優化改寫技巧與案例》第5~12章是提高部分,講解瞭正則錶達式、分析函數、樹形查詢及匯總函數的用法。這部分知識常用於對一些復雜需求的實現及優化改寫。
  《Oracle查詢優化改寫技巧與案例》最後兩章介紹日常的優化改寫案例。這部分是前麵所學知識的擴展應用。

作者簡介

  師慶棟,網名有教無類,人稱教主,CSDN博主,和落落、道道、飛雪等幾個朋友一起辦瞭道森培訓班,主講sql高級改寫。配製過大量的手工及半手工報錶,積纍瞭豐富的Oracle Sql開發經驗。

內頁插圖

精彩書評

  ★本書的寫作手法十分樸實,甚至可以說有些章節有點過於簡練,但是瑕不掩瑜,書中實用的內容之多是十分值得肯定的。本書可以作為DBA的參考書籍,也可以作為開發人員編寫SQL的指導書籍。作為DBA行業的一個老兵,我願意嚮大傢推薦這本書,對於優化有興趣的DBA,確實有必要讀一讀這本書。
  ——國內知名專傢白鱔
  
  ★當教主告訴我他準備寫一本有關SQL編程改寫的書時,我非常高興,感覺到將會有一大批開發人員可以藉助這樣一本書使自己的SQL水平提升一個層次。因為我知道這不是一本SQL入門的書,也不是一本專門講優化理論的SQL優化書籍,而是一本結閤常見的開發場景介紹編程技巧的書籍。
  ——資深Oracle培訓人員黃超(網名:道道)

目錄

第1章 單錶查詢
1.1 查詢錶中所有的行與列
1.2 從錶中檢索部分行
1.3 查找空值
1.4 將空值轉換為實際值
1.5 查找滿足多個條件的行
1.6 從錶中檢索部分列
1.7 為列取有意義的名稱
1.8 在WHERE子句中引用取彆名的列
1.9 拼接列
1.10 在SELECT語句中使用條件邏輯
1.11 限製返迴的行數
1.12 從錶中隨機返迴n條記錄
1.13 模糊查詢

第2章 給查詢結果排序
2.1 以指定的次序返迴查詢結果
2.2 按多個字段排序
2.3 按子串排序
2.4 TRANSLATE
2.5 按數字和字母混閤字符串中的字母排序
2.6 處理排序空值
2.7 根據條件取不同列中的值來排序

第3章 操作多個錶
3.1 UNIONALL與空字符串
3.2 UNION與OR
3.3 組閤相關的行
3.4 IN、EXISTS和INNERJOIN
3.5 INNERJOIN、LEFTJOIN、RIGHTJOIN和FULLJOIN解析
3.6 自關聯
3.7 NOTIN、NOTEXISTS和LEFTJOIN
3.8 外連接中的條件不要亂放
3.9 檢測兩個錶中的數據及對應數據的條數是否相同
3.10 聚集與內連接
3.11 聚集與外連接
3.12 從多個錶中返迴丟失的數據
3.13 多錶查詢時的空值處理

第4章 插入、更新與刪除
4.1 插入新記錄
4.2 阻止對某幾列插入
4.3 復製錶的定義及數據
4.4 用WITHCHECKOPTION限製數據錄入
4.5 多錶插入語句
4.6 用其他錶中的值更新
4.7 閤並記錄
4.8 刪除違反參照完整性的記錄
4.9 刪除名稱重復的記錄

第5章 使用字符串
5.1 遍曆字符串
5.2 字符串文字中包含引號
5.3 計算字符在字符串中齣現的次數
5.4 從字符串中刪除不需要的字符
5.5 將字符和數字數據分離
5.6 查詢隻包含字母或數字型的數據
5.7 提取姓名的大寫首字母縮寫
5.8 按字符串中的數值排序
5.9 根據錶中的行創建一個分隔列錶
5.10 提取第n個分隔的子串
5.11 分解IP地址
5.12 將分隔數據轉換為多值IN列錶
5.13 按字母順序排列字符串
5.14 判彆可作為數值的字符串

第6章 使用數字
6.1 常用聚集函數
6.2 生成纍計和
6.3 計算纍計差
6.4 更改纍計和的值
6.5 返迴各部門工資排名前三位的員工
6.6 計算齣現次數最多的值
6.7 返迴最值所在行數據
6.8 first_value
6.9 求總和的百分比

第7章 日期運算
7.1 加減日、月、年
7.2 加減時、分、秒
7.3 日期間隔之時、分、秒
7.4 日期間隔之日、月、年
7.5 確定兩個日期之間的工作天數
7.6 計算一年中周內各日期的次數
7.7 確定當前記錄和下一條記錄之間相差的天數

第8章 日期操作
8.1 SYSDATE能得到的信息
8.2 INTERVAL
8.3 EXTRACT
8.4 確定一年是否為閏年
8.5 周的計算
8.6 確定一年內屬於周內某一天的所有日期
8.7 確定某月內第一個和最後一個“周內某天”的日期
8.8 創建本月日曆
8.9 全年日曆
8.10 確定指定年份季度的開始日期和結束日期
8.11 補充範圍內丟失的值
8.12 按照給定的時間單位進行查找
8.13 使用日期的特殊部分比較記錄
8.14 識彆重疊的日期範圍
8.15 按指定間隔匯總數據

第9章 範圍處理
9.1 定位連續值的範圍
9.2 查找同一組或分區中行之間的差
9.3 定位連續值範圍的開始點和結束點
9.4 閤並時間段

第10章 高級查找
10.1 給結果集分頁
10.2 重新生成房間號
10.3 跳過錶中n行
10.4 排列組閤去重
10.5 找到包含最大值和最小值的記錄

第11章 報錶和數據倉庫運算
11.1 行轉列
11.2 列轉行
11.3 將結果集反嚮轉置為一列
11.4 抑製結果集中的重復值
11.5 利用“行轉列”進行計算
11.6 給數據分組
11.7 對數據分組
11.8 計算簡單的小計
11.9 判彆非小計的行
11.10 計算所有錶達式組閤的小計
11.11 人員在工作間的分布
11.12 創建稀疏矩陣
11.13 對不同組/分區同時實現聚集
11.14 對移動範圍的值進行聚集
11.15 常用分析函數開窗講解
11.16 listagg與小九九

第12章 分層查詢
12.1 簡單的樹形查詢
12.2 根節點、分支節點、葉子節點
12.3 sys_connect_by_path
12.4 樹形查詢中的排序
12.5 樹形查詢中的WHERE
12.6 查詢樹形的一個分支
12.7 剪去一個分支
12.8 字段內list值去重

第13章 應用案例實現
13.1 從不固定位置提取字符串的元素
13.2 搜索字母數字混閤的字符串
13.3 把結果分級並轉為列
13.4 構建基礎數據的重要性
13.5 根據傳入條件返迴不同列中的數據
13.6 拆分字符串進行連接
13.7 整理垃圾數據
13.8 用“行轉列”來得到隱含信息
13.9 用隱藏數據進行行轉列
13.10 用正則錶達式提取clob裏的文本格式記錄集

第14章 改寫調優案例分享
14.1 為什麼不建議使用標量子查詢
14.2 用LEFTJOIN優化標量子查詢
14.3 用LEFTJOIN優化標量子查詢之聚閤改寫
14.4 用LEFTJOIN及行轉列優化標量子查詢
14.5 標量中有ROWNUM=
14.6 不等連接的標量子查詢改寫(一)
14.7 不等連接的標量子查詢改寫(二)
14.8 標量子查詢與改寫邏輯的一緻性
14.9 用分析函數優化標量子查詢(一)
14.10 用分析函數優化標量子查詢(二)
14.11 用分析函數優化標量子查詢(三)
14.12 用分析函數優化標量子查詢(四)
14.13 用MERGE改寫優化UPDATE
14.14 用MERGE改寫有聚閤操作的UPDATE(一)
14.15 用MERGE改寫有聚閤操作的UPDATE(二)
14.16 用MERGE改寫UPDATE之多個子查詢(一)
14.17 用MERGE改寫UPDATE之多個子查詢(二)
14.18 UPDATE改寫為MERGE時遇到的問題
14.19 整理優化分頁語句
14.20 讓分頁語句走正確的PLAN
14.21 去掉分頁查詢中的DISTINCT
14.22 用WITH語句減少自關聯
14.23 用WITH改寫優化查詢
14.24 用WITH把OR改為UNION
14.25 錯誤的WITH改寫
14.26 錯誤的分析函數用法
14.27 用LEFTJOIN優化多個子查詢(一)
14.28 用LEFTJOIN優化多個子查詢(二)
14.29 用LEFTJOIN優化多個子查詢(三)
14.30 去掉EXISTS引起的FILTER
14.31 重疊時間計數
14.32 用分析函數改寫優化
14.33 相等集閤之零件供應商
14.34 相等集閤之飛機棚與飛行員
14.35 用分析函數改寫最值過濾條件
14.36 用樹形查詢找指定級彆的數據
14.37 行轉列與列轉行
14.38 UPDATE、ROW_NUMBER與MERGE
14.39 改寫優化UPDATE語句
14.40 改寫優化UNIONALL語句
14.41 糾結的MERGE語句
14.42 用CASEWHEN去掉UNIONALL
14.43 不恰當的WITH及標量子查詢
14.44 用分析函數加“行轉列”來優化標量子查詢
14.45 用分析函數處理問題
14.46 用列轉行改寫A錶多列關聯B錶同列
14.47 用分析函數改寫最值語句
14.48 多列關聯的半連接與索引
14.49 巧用分析函數優化自關聯
14.50 糾結的UPDATE語句
14.51 巧用JOIN條件閤並UNIONALL語句
14.52 用分析函數去掉NOTIN
14.53 讀懂查詢中的需求之裁剪語句
14.54 去掉FILTER裏的EXISTS之活學活用

精彩書摘

  14.19 整理優化分頁語句
  網友說有一個語句查詢需要1秒多,希望能優化。於是讓網友先把語句發過來,一看到語句,筆者就驚呆瞭:
  SELECT *
  FROM (SELECT a.*, ROWNUM NUM
  FROM (SELECT *
  FROM b
  WHERE 1 = 1
  AND type = '10'
  AND s_cd = '1000'
  AND name LIKE '%xxx%'
  ORDER BY (SELECT NVL(TO_NUMBER(REPLACE(TRANSLATE(des, REPLACE(TRANSLATE(des, '0123456789', '##########'), '#', ''), RPAD('#', 20, '#')), '#', '')), '0')
  FROM b_PRICE B
  WHERE max_price = '1'
  AND B.id = b.id),
  name) a)
  WHERE NUM > 1 AND NUM <= 20
  這個ORDER BY需要全錶掃描纔能得到所需數據,而且函數嵌套瞭多層,不好處理。因為上麵這個替換語句的目的是隻保留字符串中的數字,於是筆者給他提供瞭一個正則:
  ORDER BY regexp_replace(des, '[^0-9]', '')
  這個語句確認結果後,把語句改成瞭10.1節中講過的樣式:
  SELECT *
  FROM (SELECT a.*, rownum num
  FROM (SELECT a.*
  FROM b a
  INNER JOIN b_price b ON (b.id = a.id)
  WHERE 1 = 1
  AND b.max_price = '1'
  AND a.type = '10'
  AND a.s_cd = '1000'
  AND a.name LIKE '%xxx%'
  ORDER BY regexp_replace(des, '[^0-9]', '')) a
  WHERE num <= 20)
  WHERE num > 1;
  注意上麵兩個分頁條件的位置,這樣更改後,把過濾列與regexp_replace(des, '[^0-9]', '')一起放在組閤索引裏,優化就到此結束
  ……

前言/序言

  作為一個有20多年信息係統工作經曆的老DBA,我最近這十多年的主要工作是係統優化,從最初的Oracle數據庫優化到現在的信息係統整體優化、架構優化,這十多年來已經做過上百個案例。雖然做瞭十多年的優化,但老實說,SQL優化也一直是我最不擅長、也最不願意去做的工作,雖然這些年我也被逼著做瞭不少SQL優化的工作,但我認為自己在這方麵還存在缺陷。這些年和我搭檔做優化的老熊、老儲都是SQL優化方麵的高手,在SQL優化方麵,他們的能力和經驗都遠高於我。我也曾和老熊、老儲他們針對SQL優化工作做過交流,問他們能否寫一本這方麵的書。他們雖然做過近十年的SQL優化,但也僅限於見招拆招,對於寫一本這方麵的書,他們都覺得難度很大。SQL優化的難度很大,主要有以下方麵。
  首先是SQL優化工作十分繁雜,在一個維護得比較好的係統中,需要優化的SQL往往都是業務邏輯十分復雜的SQL語句,而不是簡單地加一個索引就能解決問題的,甚至有些SQL語句要打印十多頁紙,想要理解這樣的SQL語句的邏輯含義往往需要花上一段時間。
  其次是SQL優化的方法與手段十分豐富,分析工具、分析方法,以及分析路徑紛繁復雜,不同的SQL可能需要用不同的分析思路進行分析,很難找到一條放之四海而皆準的準則。要想獲得這些方法隻有兩個途徑:一個是通過自己的實踐不斷總結和積纍經驗;另一個是通過閱讀相關的書籍,獲得前人總結好的經驗。
  雖然現在市麵上關於OracleSQL優化的書籍有很多,但絕大多數書籍中介紹的SQL優化僅僅介紹瞭SQL優化的工具如何使用,執行計劃如何解讀,以及SQL優化從大方嚮上該如何去做,所舉的例子也往往過於經典,不一定適用於我們的生産環境。特彆是到目前為止,還沒有一本十分係統地介紹SQL改寫技巧的書籍,而SQL改寫卻又是SQL優化中最難的一種工作,也是最實用的一種技術。
  第一次看到這本書的目錄時讓我眼前一亮,這不是一本簡單堆砌知識的書籍,這是一本和大傢分享工作經驗的書。從目錄結構就可看齣作者對OracleSQL執行內部機理的認知是十分深入的,同時也有大量SQL優化的實際工作經驗。這本書從單錶訪問路徑的基礎知識開始講起,將主要的SQL語法中可能的優化點進行一一剖析,總結瞭大量的優化實戰方法。特彆值得一提的是,本書最後一章列舉瞭近60個實戰案例,內容覆蓋大多數DBA的日常工作場景,具有相當大的實用價值。
  本書的寫作手法十分樸實,甚至可以說有些章節有點過於簡練,但是瑕不掩瑜,書中實用的內容之多是十分值得肯定的。本書可以作為DBA的參考書籍,也可以作為開發人員編寫SQL的指導書籍。作為DBA行業的一個老兵,我願意嚮大傢推薦這本書,對於優化有興趣的DBA,確實有必要讀一讀這本書。
  白鱔
  國內知名DBA專傢
  當教主告訴我他準備寫一本有關SQL編程改寫的書時,我非常高興,感覺到將會有一大批開發人員可以藉助這樣一本書使自己的SQL水平提升一個層次。因為我知道這不會是一本SQL入門的書,也不是一本專門講優化理論的SQL優化書籍,而是一本結閤常見的開發場景介紹編程技巧的書籍。教主擁有多年的軟件開發和SQL開發經驗,從和他的技術交流中,我也學到瞭很多SQL技巧,更難得的是,他對同一個SQL有多種不同的寫法,結閤一些SQL優化的原理,很容易找到非常高效的寫法。
  教主為人低調,熱心幫助他人,並且在博客上經常分享一些SQL技巧和相關知識。感謝他的無私奉獻,同時期望教主能堅持下去,不斷總結他豐富的SQL開發經驗,並與我們一起溝通交流。
  黃超(網名:道道)
  道森教育集團負責人,資深Oracle培訓人員
Oracle查詢優化改寫技巧與案例 下載 mobi epub pdf txt 電子書 格式

Oracle查詢優化改寫技巧與案例 mobi 下載 pdf 下載 pub 下載 txt 電子書 下載 2024

Oracle查詢優化改寫技巧與案例 下載 mobi pdf epub txt 電子書 格式 2024

Oracle查詢優化改寫技巧與案例 下載 mobi epub pdf 電子書
想要找書就要到 圖書大百科
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

用戶評價

評分

評分

經常網購,總有大量的包裹收,有很多的評語要寫! 但是,總是寫評語花掉瞭我大量的時間和精力! 迴頭想想,我花瞭錢瞭,還要我花這麼多的時間和精力來寫評語是不是很不劃算? 所以在一段時間裏,我總是不去評價或者隨便寫寫! 但是,我又總是覺得好像有點對不住那些辛苦工作的賣傢客服、倉管、老闆。 於是我寫下瞭一小段話,給我覺得能拿到我五星好評的賣傢的寶貝評價裏麵以示感謝和尊敬! 首先,寶貝是性價比很高的,我每次都會先試用再評價的,雖然寶貝不一定是最好的,但在同等的價位裏麵絕對是錶現最棒的。 其次,在與賣傢的溝通中,無論是前期谘詢還是後期詢問;賣傢都能好好解答。 另外,物流的速度也是可以接受的,偶爾有比較慢的物流,也希望大傢可以耐心等待,畢竟賣傢也不能控製物流的速度啊。 相反,賣傢比我們更希望能早日到貨,我們能早點付款啊! 希望賣傢能再接再厲。把店鋪做得更大更強,提供更多更好的東西給大傢。

評分

挺好看的,京東活動200-150,買的很值啊!還沒看呢,一次性買瞭很多,慢慢看。

評分

評分

和此賣傢交流,自覺七經八脈為之一暢,我在~買瞭這麼多年,所謂看過&quot;女乾&quot;商無數,但與賣傢您交流,我隻想說,老闆你實在是太好瞭。你的高尚情操太讓人感動瞭。本人對此賣傢之仰慕如滔滔江水連綿不絕,海枯石爛,天崩地裂,永不變心。交易成功後,我的心情竟是久久不能平靜。自古英雄齣少年,賣傢年紀輕輕,就有經天緯地之纔,定國安邦之智,而今,天佑我大中華,滄海桑田5000年,神州平地一聲雷,飛沙走石,大霧迷天,朦朧中,隻見頂天立地一金甲天神立於天地間,花見花開,人見人愛,這人英雄手持雙斧,二目如電,一斧下去,混沌初開,二斧下去,女媧造人,三斧下去,小生傾倒。得此大英雄,實乃國之幸也,民之福,人之初也,怎不叫人喜極而泣.......看著交易成功,我竟産生齣一種無以名之的悲痛感&mdash;&mdash;啊,這麼好的賣傢,如果將來我再也遇不到瞭,那我該怎麼辦?直到我毫不猶豫地把賣傢的店收藏瞭,我內心的那種激動纔逐漸平靜下來。可是我立刻想到,這麼好的賣傢,倘若彆人看不到,那麼不是浪費心血嗎?經過痛苦的思想鬥爭,我終於下定決心,犧牲小我,奉獻大我。我要以此評價奉獻給世人賞閱,我要給好評&hellip;&hellip;

評分

12歲的時候,看重構和設計模式。

評分

我是我們村裏第一個買愛瘋7plus 手機殼 的人,我們這 裏大部分人都是用的小靈通,手機一般都不超過100 塊。當聽說我買瞭個手機殼就花瞭25塊之後,整個村 都震驚瞭,村長跑到我傢對我爸說,恁娃是不瘋瞭。媳婦跟我鬧離婚, 買這麼貴的手機殼,這日子還過不過瞭。麵對著重重壓 力,我依然堅持要買,我相信我這一個月工資不會白 花。終於,快遞到瞭,我懷著激動的心情,顫抖著雙手打開包裹,那一刹那,感覺我的眼睛都要閃瞎瞭 啊,這顔色,這紋理,這手感,買嘎等!隻恨我讀書 少,無法用華麗的詞語來形容它。舉起手機殼,我驕傲 的站在村口,頓時整個村都沸騰瞭,大姑娘小媳婦 拼瞭命的嚮我湧來,更有人趁我不備的時候想摸我的 手機殼,更有人大喊,我不給她們摸,她們就要跳井。就連村花都紅 著臉要跟我迴傢,看著隔壁老王殺人的目光,纔想起 這是他花瞭一麻袋地瓜 換來的老婆。嚇得我趕緊收起手機殼,擠齣人群落 荒而逃。為瞭測試手機殼硬度,我爬上瞭我們村的最高建築&mdash;&mdash;高達3米的村長傢的平房上。舉 著手機往下一扔,頓時金光一閃,手機竟然毫發 無損,天啦擼,天壽啦,這硬度,我想跟傳說中一顆 就破産的鑽石比也相差不遠瞭吧

評分

Oracle查詢優化改寫技巧與案例

評分

到我爸這一代,他買瞭80286計算機,開始學習basic。

類似圖書 點擊查看全場最低價

Oracle查詢優化改寫技巧與案例 mobi epub pdf txt 電子書 格式下載 2024


分享鏈接




相關圖書


本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

友情鏈接

© 2024 book.teaonline.club All Rights Reserved. 圖書大百科 版權所有