亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        關(guān)于考勤管理系統(tǒng)中的SQL語(yǔ)句優(yōu)化解析

        2017-12-13 08:40:37黃娟
        電腦知識(shí)與技術(shù) 2017年33期

        黃娟

        摘要:該文針對(duì)沙鋼集團(tuán)人力資源管理信息系統(tǒng)中月初匯總上一月考勤數(shù)據(jù)的數(shù)據(jù)庫(kù)過程運(yùn)行效率低得問題,通過優(yōu)化SQL語(yǔ)句,提高了匯總過程的執(zhí)行效率。

        關(guān)鍵詞:ORACLE;SQL;考勤;數(shù)據(jù)庫(kù)訪問;索引

        中圖分類號(hào):TP3 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2017)33-0031-01

        沙鋼集團(tuán)人力資源管理信息系統(tǒng)中考勤模塊記錄考勤信息時(shí)每人每天兩條數(shù)據(jù),分別記錄上午和下午的出勤情況。以集團(tuán)本部19500人計(jì)算,每個(gè)月的考勤記錄大約是117萬(wàn)條數(shù)據(jù),加上成員企業(yè)的考勤記錄和考勤表中需要有三個(gè)月左右數(shù)據(jù),日??记诒碇芯S持的數(shù)據(jù)量大概有600萬(wàn)條數(shù)據(jù)左右。本部薪酬計(jì)算用到的考勤數(shù)據(jù)需要從這張考勤表中取出數(shù)據(jù)并按工號(hào)及部門分別進(jìn)行匯總形成每人每個(gè)部門(考慮到人員部門調(diào)動(dòng)情況)一條考勤數(shù)據(jù)。

        1 難點(diǎn)及主要采取措施

        考勤數(shù)據(jù)匯總中遇到的難點(diǎn)一是數(shù)據(jù)量大,數(shù)據(jù)在600萬(wàn)條以上,對(duì)這些數(shù)據(jù)的處理需要考慮ORACLE的性能;二是對(duì)新入職員工職校考勤時(shí)的考勤項(xiàng)目名稱是對(duì)應(yīng)正??记陧?xiàng)目名稱后加“*”,但是在數(shù)據(jù)庫(kù)中記錄的考勤項(xiàng)目時(shí)是記錄對(duì)應(yīng)項(xiàng)目的FID。因此在匯總考勤數(shù)據(jù)前需要將職??记跀?shù)據(jù)做特殊處理,將考勤項(xiàng)目轉(zhuǎn)換成對(duì)應(yīng)的正??记陧?xiàng)目;三是人力資源管理信息系統(tǒng)數(shù)據(jù)庫(kù)中各類基礎(chǔ)表比較多,考勤表中記錄的信息主要是各類信息的FID,需要多表關(guān)聯(lián)才能將匯總表中的信息全部顯示出來(lái)。

        針對(duì)這些情況,主要采取的措施有以下幾個(gè)方面:

        1) 減少數(shù)據(jù)庫(kù)訪問次數(shù)。在執(zhí)行每條SQL語(yǔ)句時(shí), ORACLE內(nèi)部執(zhí)行了許多工作: 解析SQL語(yǔ)句, 估算索引的利用率,綁定變量, 讀數(shù)據(jù)塊等等。因此減少訪問數(shù)據(jù)庫(kù)的次數(shù), 就能實(shí)際上減少ORACLE的工作量。

        2) 用索引提高效率。索引是表的一個(gè)概念部分,用來(lái)提高檢索數(shù)據(jù)的效率。實(shí)際上,ORACLE使用了一個(gè)復(fù)雜的自平衡B-tree結(jié)構(gòu)。當(dāng)ORACLE找出執(zhí)行查詢和Update語(yǔ)句的最佳路徑時(shí), ORACLE優(yōu)化器將使用索引。 同樣在聯(lián)結(jié)多個(gè)表時(shí)使用索引也可以提高效率。 除了那些LONG或LONG RAW數(shù)據(jù)類型,你可以索引幾乎所有的列。在大型表中使用索引特別有效。

        3) 盡量多的使用COMMIT。只要有可能,在程序中盡量多使用COMMIT,這樣程序的性能能得到提高,需求也會(huì)因?yàn)镃OMMIT所釋放的資源而減少:COMMIT所釋放的資源有回滾段上用于恢復(fù)數(shù)據(jù)的信息,被程序語(yǔ)句獲得的鎖,REDO LOG BUFFER中的空間,ORACLE為管理上述3種資源中的內(nèi)部花費(fèi)。

        2 具體應(yīng)用

        針對(duì)具體在考勤匯總中遇到的問題主要在下面幾個(gè)方面做了修改:

        1) 盡量減少對(duì)數(shù)據(jù)庫(kù)的訪問次數(shù),具體體現(xiàn)在能夠一次SELECT,INSERT,UPDATE操作的數(shù)據(jù)不要分多次循環(huán)處理。因此將過程中對(duì)每個(gè)工號(hào)的員工進(jìn)行循環(huán)統(tǒng)計(jì)各考勤項(xiàng)目的天數(shù)修改成對(duì)考勤項(xiàng)目進(jìn)行循環(huán)統(tǒng)計(jì)所有人該考勤項(xiàng)目的對(duì)應(yīng)天數(shù)。這種處理方式使循環(huán)次數(shù)由原來(lái)的19500次左右縮短到15次左右。大大縮短了過程執(zhí)行的時(shí)間。

        2) 用索引提高效率,具體應(yīng)用是將過程中涉及的表按照條件中應(yīng)用到的列的次序建立索引。這里要提到的是一開始只注意到考勤表數(shù)據(jù)量大,需要建立索引,沒有注意到匯總表。雖然考勤表以百萬(wàn)計(jì),而匯總表只以萬(wàn)計(jì),但是在操作匯總表時(shí)索引的創(chuàng)建極大地提高了效率。對(duì)匯總表操作UPDATE語(yǔ)句由原來(lái)的數(shù)小時(shí)降低到半分鐘左右。

        3) 盡量多的使用COMMIT。在循環(huán)處理各考勤項(xiàng)目匯總時(shí),對(duì)產(chǎn)生的數(shù)據(jù)進(jìn)行COMMIT操作。這樣做的好處不僅是釋放了數(shù)據(jù)庫(kù)資源,同時(shí)在數(shù)據(jù)中也即是保存了數(shù)據(jù),能即是了解數(shù)據(jù)處理到哪一個(gè)環(huán)節(jié)。

        4) 盡量不在條件語(yǔ)句中出現(xiàn)的列上使用函數(shù)。過程中使用到的日期在數(shù)據(jù)庫(kù)中存儲(chǔ)的是TIMESTAMP類型,而統(tǒng)計(jì)的維度是一個(gè)自然月。這里對(duì)進(jìn)行比較的自然月進(jìn)行了處理,將月初月末類型裝換成TIMESTAMP類型來(lái)取代在原先采用的將數(shù)據(jù)庫(kù)表日期列裝換成自然月的字符串類型的方法。這種方法使數(shù)據(jù)轉(zhuǎn)換由原來(lái)的每條數(shù)據(jù)一次縮減到一條SELECT一次,減少了ORACLE轉(zhuǎn)換數(shù)據(jù)類型需要的時(shí)間。

        3 結(jié)束語(yǔ)

        ORACLE SQL性能優(yōu)化的一些措施在人力資源管理信息系統(tǒng)的考勤匯總中的應(yīng)用大大提高了數(shù)據(jù)庫(kù)匯總過程的執(zhí)行效率,為考勤記錄的統(tǒng)計(jì)、考勤報(bào)表的生產(chǎn)提供了數(shù)據(jù),為薪酬模塊、績(jī)效模塊和獎(jiǎng)金模塊的順利上線做好了數(shù)據(jù)準(zhǔn)備。

        參考文獻(xiàn):

        [1] 黃河. Oracle9i數(shù)據(jù)庫(kù)系統(tǒng)培訓(xùn)教程[M]. 北京: 清華大學(xué)出版社, 2002.

        [2] Thomas Kyte. Oracle專家高級(jí)編程[M]. 北京: 清華大學(xué)出版社, 2002.

        [3] Kevin Loney. Oracle9i: The Complete Reference[Z].Oracle公司技術(shù)參考書.

        国产成年无码aⅴ片在线观看| 亚洲热线99精品视频| 亚洲精品无码av中文字幕| 国产亚洲欧美在线| 国产一区二区在线观看视频免费 | 激情亚洲一区国产精品| 亚洲国产欧美久久香综合| 国产自拍三级黄片视频| 色综合天天综合欧美综合| 毛多水多www偷窥小便 | 无码人妻丰满熟妇区毛片| 色欲aⅴ亚洲情无码av| 亚洲av无码一区二区三区性色| 人妖另类综合视频网站| 久久久精品网站免费观看| 久久国产劲爆∧v内射-百度| 中文字幕一区二区人妻| 日本精品一区二区三本中文| 日韩av一区二区无卡| 精品亚洲国产成人蜜臀av| 国产suv精品一区二人妻| 亚洲色图综合免费视频| 国产精品国产三级国产an不卡| 伊人久久精品无码二区麻豆| 成熟丰满熟妇高潮xxxxx| 无码专区亚洲avl| 亚洲国产精品悠悠久久琪琪| 欧美日韩亚洲中文字幕二区| 欧美人与动人物牲交免费观看| 91国产自拍视频在线| av熟妇一区二区三区| 久久久久久好爽爽久久| 人妻少妇无码中文幕久久| 国产成人综合久久大片| 人人妻人人澡人人爽欧美一区双| 免费av片在线观看网站| 亚洲区一区二区中文字幕| 久久天堂精品一区二区三区四区 | 日本不卡在线一区二区三区视频| 伊人久久大香线蕉av不变影院 | 国产精品三区四区亚洲av|