亚洲精品中文免费|亚洲日韩中文字幕制服|久久精品亚洲免费|一本之道久久免费

      
      

            <dl id="hur0q"><div id="hur0q"></div></dl>

                Oracle之SQL基礎(chǔ)篇

                建表的幾條原則

              1. 數(shù)據(jù)量是隨著時(shí)間持續(xù)增加(像訂單類表),并且運(yùn)行一年后,表記錄數(shù)超過(guò)2000萬(wàn)條,則需要考慮表分區(qū)。
              2. 如果表數(shù)據(jù)基本上是靜態(tài)的(像用戶信息表),一般不考慮分區(qū)。如果記錄數(shù)接近億條,則可以考慮用HASH分區(qū)。
                • 表命名規(guī)范
              3. 表名只能使用字母、數(shù)字和下劃線,字母都小寫(xiě)。
              4. 數(shù)據(jù)庫(kù)里若存在多個(gè)用戶,則以用戶名簡(jiǎn)寫(xiě)開(kāi)頭,比如用戶庫(kù)的表以USR_開(kāi)頭,訂單庫(kù)的表以O(shè)RD_開(kāi)頭;若只有一個(gè)用戶,則以t(表)或v(視圖)開(kāi)頭。
              5. 臨時(shí)表以tmp_開(kāi)頭;備份表以bak_開(kāi)頭。
              6. 表的字段數(shù)量不超過(guò)30個(gè),在非必要的情況下不要使用clob等大字段。一張表里所有字段的總長(zhǎng)度盡量小,絕對(duì)不要超過(guò)8000(數(shù)據(jù)塊大小就是8K)。
              7. 不同表里相同意義的字段,取名一樣。列如A表的更新時(shí)間字段取名update_time,那B表就不要再取名modify_time。
              8. 選擇字段類型的時(shí)候,能用number就不要用varchar2。做查詢的時(shí)候,同等條件的number效率比varcha2高。
              9. 值為枚舉型值的字段,用number(1)或者char(1);如果有超過(guò)10個(gè)以上的枚舉值,用char(2)。多個(gè)表里該類字段的值定義要一致。如a表status=0表示正常,則b表也應(yīng)一樣定義。這里可以約定一下:用char做類型時(shí),值為A、B、C這樣的字母類型;用number做類型時(shí),值為0-9,這樣方便區(qū)分。
              10. 字段盡量設(shè)置為not null,或者設(shè)置默認(rèn)值。
                • 備注
              11. 表和字段,都需要有comment,尤其是枚舉型值字段。
              12. 索引

                • 與mysql索引區(qū)別
              13. 在mysql中,每個(gè)表都會(huì)有一個(gè)id字段做主鍵,也就是聚簇索引,其它的輔助索引都要通過(guò)聚簇索引來(lái)查詢。
              14. 在oracle中,所有的索引都是通過(guò)rowid直接查詢的,不存在“二次查詢”,所有如果該id字段不與其他表做管理,則在表設(shè)計(jì)時(shí)不需要該字段。
                • 指定表空間
              15. 將表數(shù)據(jù)和索引數(shù)據(jù)分開(kāi)存儲(chǔ)。建索引時(shí)明確指定表空間。
                • 數(shù)量
              16. 索引數(shù)量不宜過(guò)多,一般情況下4個(gè)以內(nèi);索引太多會(huì)影響記錄的插入。
                • 復(fù)合索引
              17. 個(gè)人認(rèn)為為了限制記錄的唯一性時(shí),可以建唯一索引;否則如果幾個(gè)字段均有可能作為查詢條件時(shí),可以分成多個(gè)索引。
              18. 復(fù)合索引字段的先后順序很重要,第一個(gè)字段必須是查詢時(shí)使用最頻繁的,否則有可能用不到索引。舉個(gè)不恰當(dāng)?shù)睦樱河脩粜畔⒈砝镉凶C件類型(cert_type)和證件號(hào)碼(cert_no),建唯一索引的時(shí)候,索引字段順序肯定是需要cert_no,cert_type,而不是cert_type, cert_no。因?yàn)椴樵兊臅r(shí)候,很有可能只是用了cert_no,而沒(méi)用到cert_type。我說(shuō)“不恰當(dāng)”,是因?yàn)閛racle的CBO比較厲害,在使用cert_type,cert_no作為復(fù)合索引的時(shí)候,oracle會(huì)分析后以跳躍索引處理,仍然能用到索引。
              19. SQL基本規(guī)范

                • 日期類型字段用法

                錯(cuò)誤用法:to_char(create_time)>’20220101’

                正確用法:create_time>to_date(‘20220101’,’yyyymmdd’)+0.999

                說(shuō)明:create_time為date類型,如果create_time字段有索引,加了函數(shù)就會(huì)用不到索引。

                • 寫(xiě)查詢條件時(shí),字段類型必須一致

                比如,status為char(1),就不要寫(xiě)成status=1,而是status=’1’。否則后續(xù)若status字典值擴(kuò)展了,用了字母,sql就會(huì)報(bào)錯(cuò)。

                • 索引列字段不用函數(shù),查詢時(shí)要盡可能將函數(shù)操作移至等號(hào)右邊。
                • 盡量避免使用order by和group by排序操作,大量的排序操作影響性能。如必須使用排序操作,盡量用在有索引的列上。
                • 數(shù)據(jù)清理時(shí)的注意點(diǎn):
              20. 做delete或update數(shù)據(jù)時(shí),首先要select count(*)一下,計(jì)算一下受影響的記錄數(shù)。
              21. 如果受影響記錄數(shù)是百萬(wàn)級(jí)的,或者查詢條件是全表掃描的,那務(wù)必在查詢條件增加個(gè)rownum<=10000,一次影響1萬(wàn)條。
              22. 舉例1:(刪除500萬(wàn)行記錄)
              23. declare

                i integer:=500;

                begin

                while i>0 loop

                delete from oper_log t where t.create_time<to_date('20220228','yyyymmdd') and rownum<=10000;

                commit;

                i := i-1;

                end loop;

                end;

              24. 舉例2:(按天清理數(shù)據(jù)到備份表)
              25. declare

                i integer:=200;

                mindate varchar2(8) :=’20211001′;

                maxdate varchar2(8) :=’20211231′;

                currdate varchar2(8) := mindate;

                begin

                while currdate <= maxdate loop

                insert into bak_oper_log

                select * from oper_log t where t.create_time<to_date(currdate,'yyyymmdd');

                delete from oper_log t where t.create_time<to_date(currdate,'yyyymmdd');

                commit;

                currdate := to_char(to_date(currdate,’yyyymmdd’)+1,’yyyymmdd’);

                end loop;

                end;

                鄭重聲明:本文內(nèi)容及圖片均整理自互聯(lián)網(wǎng),不代表本站立場(chǎng),版權(quán)歸原作者所有,如有侵權(quán)請(qǐng)聯(lián)系管理員(admin#wlmqw.com)刪除。
                用戶投稿
                上一篇 2022年6月21日 18:16
                下一篇 2022年6月21日 18:16

                相關(guān)推薦

                • 客服的崗位職責(zé)怎么寫(xiě)(客服工作內(nèi)容及職責(zé))

                  各位小伙伴們大家周一好,又到了每周一給大家分享干貨內(nèi)容的時(shí)候啦~ 本期來(lái)跟大家分享一下客服工作管理流程以及客服崗位里面的每項(xiàng)職能崗位的核心細(xì)則,也是干貨滿滿推薦收藏~ 一.補(bǔ)償流程…

                  2022年11月25日
                • 什么是推廣cpa一篇文章帶你看懂CPA推廣渠道

                  CPA渠道 CPA指的是按照指定的行為結(jié)算,可以是搜索,可以是注冊(cè),可以是激活,可以是搜索下載激活,可以是綁卡,實(shí)名認(rèn)證,可以是付費(fèi),可以是瀏覽等等。甲乙雙方可以根據(jù)自己的情況來(lái)定…

                  2022年11月25日
                • 抖音直播帶貨有哪些方法技巧(抖音直播帶貨有哪些痛點(diǎn))

                  如今抖音這個(gè)短視頻的變現(xiàn)能力越來(lái)越突顯了,尤其是在平臺(tái)上開(kāi)通直播,更具有超強(qiáng)的帶貨屬性,已經(jīng)有越來(lái)越多的普通人加入到其中了。不過(guò)直播帶貨雖然很火,但是也不是每個(gè)人都能做好的,那么在…

                  2022年11月24日
                • 淘寶直播開(kāi)通后帶貨鏈接怎么做(淘寶直播需要開(kāi)通淘寶店鋪嗎)

                  直播帶貨無(wú)論是對(duì)于商家來(lái)說(shuō)還是主播收益都是非常可觀的,所以不少平臺(tái)都有直播帶貨功能,一些小伙伴也想加入淘寶直播,那么淘寶直播開(kāi)通后帶貨鏈接怎么做?下面小編為大家?guī)?lái)淘寶直播開(kāi)通后帶…

                  2022年11月24日
                • 明查|美國(guó)新冠后遺癥患者中有16%癥狀嚴(yán)重以致無(wú)法工作?

                  點(diǎn)擊進(jìn)入澎湃新聞全球事實(shí)核查平臺(tái) 速覽 – 網(wǎng)傳數(shù)據(jù)比例無(wú)權(quán)威信源佐證,該比例有可能是結(jié)合了美國(guó)疾病防控中心和布魯金斯學(xué)會(huì)的數(shù)據(jù)得出,但這兩個(gè)機(jī)構(gòu)的調(diào)研目的和樣本都不同…

                  2022年11月24日
                • 小紅書(shū)入駐條件及費(fèi)用(小紅書(shū)開(kāi)店)

                  小紅書(shū)喊你回家開(kāi)店! 有不少用戶都發(fā)現(xiàn),最近在逛小紅書(shū)的時(shí)候,筆記上面多出了一個(gè)圖片標(biāo)簽,點(diǎn)進(jìn)入之后便可進(jìn)入下單頁(yè)面,還可以通過(guò)商品頁(yè)面找到相關(guān)店鋪,大大縮短了交易路徑。 “很方便…

                  2022年11月23日
                • 快手限流多久能解除(快手限流什么意思)

                  我相信很多人都看中了快手平臺(tái)的商機(jī),都爭(zhēng)先恐后地想要搶占機(jī)會(huì),可一些人剛剛作出一點(diǎn)成績(jī),就被降權(quán)了,自己也不知道什么原因。所以今天就來(lái)聊聊快手賬號(hào)降權(quán)操作分享,趕快來(lái)看看避免違規(guī)!…

                  2022年11月23日
                • Win11 22H2再出新問(wèn)題Bug:無(wú)法彈出USB設(shè)備

                  作為Windows 11的首次大更新,在Win11 22H2發(fā)布后并沒(méi)有帶來(lái)預(yù)想的場(chǎng)景,各種問(wèn)題頻現(xiàn)成為了一種常態(tài)。 近日有消息稱,Win11 22H2存在一個(gè)占用沖突Bug,當(dāng)用…

                  2022年11月22日
                • 想學(xué)美工從哪里學(xué)起(淘寶美工如何自學(xué))

                  其實(shí)學(xué)習(xí)淘寶美工這件事情,不并像大家想的那么艱難,萬(wàn)事開(kāi)頭難,只要我們邁出第一步,并且在以后的每一步都踏踏實(shí)實(shí)、認(rèn)認(rèn)真真的去做,那么學(xué)習(xí)淘寶美工并不是一件如登天一樣的難事。如果說(shuō)我…

                  2022年11月22日
                • 重慶高風(fēng)險(xiǎn)區(qū)一般多長(zhǎng)時(shí)間解除(重慶成都是高風(fēng)險(xiǎn)區(qū)嗎)

                  重慶這幾天的疫情新增情況也是比較嚴(yán)重的,大家對(duì)近期的重慶疫情防控措施也都十分關(guān)注,據(jù)悉目前重慶還存在不少的疫情高風(fēng)險(xiǎn)地區(qū)。那么,重慶高風(fēng)險(xiǎn)區(qū)一般多長(zhǎng)時(shí)間解除?對(duì)于高風(fēng)險(xiǎn)地區(qū)解封時(shí)間…

                  2022年11月21日

                聯(lián)系我們

                聯(lián)系郵箱:admin#wlmqw.com
                工作時(shí)間:周一至周五,10:30-18:30,節(jié)假日休息