freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

sql編寫規(guī)范和優(yōu)化講稿(存儲(chǔ)版)

  

【正文】 更快。 SQL優(yōu)化 (oracle) ?使用分區(qū)索引 在用分析命令對(duì)分區(qū)索引進(jìn)行分析時(shí),每一個(gè)分區(qū)的數(shù)據(jù)值的范圍信息會(huì)放入 Oracle的數(shù)據(jù)字典中。 現(xiàn)在重新修改上面的查詢: select * from record where ActionTime=39。 2) select count(*) from emp where sal between 1000 and 5000。 SQL優(yōu)化 (oracle) ?分解復(fù)雜查詢,用常量代替變量 繼續(xù)上面 9的例子,對(duì)于包含 Where (DisposalCourseFlag v_DisPosalCourseFlag) or (v_DisPosalCourseFlag is null) and ....的查詢,(這里 v_DisPosalCourseFlag為一個(gè)輸入變量,取值范圍可能為 [NULL, 0, 1, 2, 3, 4, 5, 6, 7]),可以考慮分情況用 IF語(yǔ)句進(jìn)行討論,類似: IF v_DisPosalCourseFlag =1 THEN Where DisposalCourseFlag = 1 and .... ELSIF v_DisPosalCourseFlag =2 THEN Where DisposalCourseFlag = 2 and .... 。 請(qǐng)注意,這種方法會(huì)加大代碼維護(hù)的難度,而且該字段上索引的名稱被改變之后,必須要同步所有指定索引的 HINT代碼,否則 HINT提示將被 ORACLE忽略掉。 SQL優(yōu)化 (oracle) ?利用 HINT強(qiáng)制指定索引 在 ORACLE優(yōu)化器無(wú)法用上合理索引的情況下,利用 HINT強(qiáng)制指定索引。進(jìn)一步的修改可以參考第 4種方法。 select count(*) from stuff where id_no=39。同理,對(duì)于大于某個(gè)值的查詢,如果知道當(dāng)前可能的最大值,也可以在 Where子句中加上 “ AND 列名 MAX(最大值 )” 。) and ActionTime to_date (39。2023030139。 ,39。(13秒 ) select * from record where amount/30 1000( 11秒) select * from record where to_char(ActionTime,39。必須了解哪些表是數(shù)據(jù)操作頻繁的表;哪些表經(jīng)常與其他表進(jìn)行連接;哪些表中的數(shù)據(jù)量可能很大;對(duì)于數(shù)據(jù)量大的表,其中各個(gè)字段的數(shù)據(jù)分布情況如何;等等。、 substr(,1,2)=39。 SQL編寫規(guī)范 8 ?連接的使用 對(duì)于內(nèi)連接和外連接的使用,要求該使用外連接的地方都已經(jīng)使用了外連接,不需要外連接的地方一定不使用外連接。 對(duì)于同一層次的多個(gè)子句,在字母后加 4…… 區(qū)分。如: SQL編寫規(guī)范 3 ?縮進(jìn)和換行 SQL編寫規(guī)范 3 ?縮進(jìn)和換行 同一級(jí)別的子句間要對(duì)齊 逗號(hào)放在每行的開頭 分號(hào)放在 SQL語(yǔ)句的最后,單獨(dú)占一行 每行寬度不超過(guò) 120字符 (每個(gè)字符為 8個(gè)點(diǎn)陣寬 ),超過(guò)行寬的代碼可折行與上行對(duì)齊編排; 每個(gè)字段后面使用字段標(biāo)題作為注釋 使用給出的語(yǔ)句獲得字段列表和字段標(biāo)題 (借助UltraEdit 列模式快速編輯 ) SQL編寫規(guī)范 3 ?縮進(jìn)和換行 下面的編寫方式不是好的形式: 在所有需要縮進(jìn)的地方,每次縮進(jìn) 4格;在以下情況下需要縮進(jìn): 不同層次的 SQL語(yǔ)句之間 SELECT INSERT等關(guān)鍵字之后的字段列表和關(guān)鍵字之間 SQL編寫規(guī)范 4 ?別名 SQL語(yǔ)句別名的命名,分層命名,從第一層次至第四層次,分別用 P 、 S、 U 、 D(都是大寫字母)表示,取意為 Part, Segment, Unit, Detail。如果發(fā)現(xiàn)了不足,還可記錄不足的原因和建議的解決辦法等。0139。 SQL優(yōu)化 (oracle) ?基于索引的 SQL語(yǔ)句優(yōu)化 其次,必須熟悉應(yīng)用程序。537839。1999120139。 例 3:以下查詢表 record 中時(shí)間 ActionTime小于2023年 3月 1日的數(shù)據(jù): select * from record where ActionTime to_date (39。yyyymm39。換成一個(gè)變量,根據(jù)取值的機(jī)率,可以有一半以上的機(jī)會(huì)提高效率。039。 修改為: UPDATE SERVICEINFO SET STATE=0 WHERE STATE = 1 OR STATE = 2 。因此,我們需要在該字段上建立索引。如下: select /*+ INDEX(SERVICEINFO,IX_S_DISPOSALCOURSEFLAG) */ * from serviceinfo where DisposalCourseFlag=1。 SQL優(yōu)化 (oracle) ?分解復(fù)雜查詢,用常量代替變量 對(duì)于復(fù)雜的 Where條件組合, Where中含有多個(gè)帶索引的字段,考慮用 IF語(yǔ)句分情況進(jìn)行討論;同時(shí),去掉不必要的外來(lái)參數(shù)條件,減低復(fù)雜度,以便在不同情況下用不同字段上的索引。 3) select count(*) from emp where sal5000。1239。Oracle可以利用這個(gè)信息來(lái)提取出那些只與 SQL查詢相關(guān)的數(shù)據(jù)分區(qū)。如果查詢的表完全沒(méi)有順序,那么一個(gè)要返回記錄數(shù)小于 10%的查詢可能會(huì)讀取表中大部分的數(shù)據(jù)塊,這樣使用索引會(huì)使查詢效率提高很多。這種聯(lián)系既存
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1