• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于SQL和表設(shè)計(jì)的Oracle數(shù)據(jù)庫(kù)開(kāi)發(fā)審計(jì)研究

    2017-01-21 16:04:53曾明霏劉強(qiáng)
    軟件導(dǎo)刊 2016年12期

    曾明霏+劉強(qiáng)

    摘 要:企業(yè)級(jí)信息系統(tǒng)的數(shù)據(jù)庫(kù)表設(shè)計(jì)和SQL語(yǔ)句優(yōu)化,對(duì)提高信息系統(tǒng)性能和穩(wěn)定性、可靠性有著重要意義?;跀?shù)據(jù)庫(kù)表設(shè)計(jì)和SQL語(yǔ)句優(yōu)化技術(shù),提出了一套數(shù)據(jù)庫(kù)開(kāi)發(fā)審計(jì)標(biāo)準(zhǔn),根據(jù)標(biāo)準(zhǔn)對(duì)一個(gè)企業(yè)級(jí)信息系統(tǒng)進(jìn)行了多次數(shù)據(jù)庫(kù)開(kāi)發(fā)審計(jì),發(fā)現(xiàn)了系統(tǒng)潛在的性能隱患,采取相應(yīng)措施,改善了信息系統(tǒng)性能。

    關(guān)鍵詞:SQL優(yōu)化;企業(yè)級(jí)信息系統(tǒng);表設(shè)計(jì);索引優(yōu)化;數(shù)據(jù)庫(kù)開(kāi)發(fā)審計(jì)

    DOIDOI:10.11907/rjdk.162063

    中圖分類號(hào):TP391

    文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1672-7800(2016)012-0136-03

    0 引言

    隨著計(jì)算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù)的普及,數(shù)據(jù)庫(kù)技術(shù)得到了長(zhǎng)足發(fā)展,成為現(xiàn)代計(jì)算機(jī)應(yīng)用與信息系統(tǒng)的核心技術(shù)。隨著信息系統(tǒng)用戶規(guī)模和應(yīng)用范圍的不斷擴(kuò)展,數(shù)據(jù)庫(kù)性能問(wèn)題越來(lái)越突出,越來(lái)越難以優(yōu)化,需要在信息系統(tǒng)開(kāi)發(fā)及試運(yùn)行階段進(jìn)行庫(kù)表設(shè)計(jì)、索引優(yōu)化和SQL優(yōu)化來(lái)解決系統(tǒng)性能瓶頸,以確保數(shù)據(jù)庫(kù)和信息系統(tǒng)穩(wěn)定、高效運(yùn)行。

    Oracle數(shù)據(jù)庫(kù)是當(dāng)前市場(chǎng)占有率最高、使用范圍最廣的關(guān)系型數(shù)據(jù)庫(kù)。對(duì)于使用關(guān)系型數(shù)據(jù)庫(kù)的信息系統(tǒng)而言,SQL語(yǔ)句的好壞直接影響系統(tǒng)性能。例如:某公司Call center系統(tǒng)坐席登錄非常慢,嚴(yán)重影響了日常工作,原因是SQL選錯(cuò)執(zhí)行計(jì)劃,走全表掃描導(dǎo)致[1];某房地產(chǎn)開(kāi)發(fā)商ERP系統(tǒng)因?yàn)橐粭l全表掃描的SQL語(yǔ)句,導(dǎo)致在業(yè)務(wù)繁忙時(shí)段引起大量的讀寫等待事件,最終數(shù)據(jù)庫(kù)失去響應(yīng);某政府系統(tǒng)因?yàn)橐粋€(gè)SQL語(yǔ)句的索引設(shè)計(jì)不當(dāng)導(dǎo)致大量的IO讀,引起數(shù)據(jù)庫(kù)性能緩慢,最終信息系統(tǒng)失去響應(yīng)。從上述事例可以看出,一條性能低下的SQL語(yǔ)句就可以拖垮整個(gè)系統(tǒng),甚至導(dǎo)致數(shù)據(jù)庫(kù)服務(wù)器失去響應(yīng)或整個(gè)數(shù)據(jù)庫(kù)掛起。

    基于Oracle數(shù)據(jù)庫(kù)建設(shè)經(jīng)驗(yàn),本文研究了數(shù)據(jù)庫(kù)的表設(shè)計(jì)和SQL語(yǔ)句優(yōu)化,提出了數(shù)據(jù)庫(kù)開(kāi)發(fā)審計(jì)標(biāo)準(zhǔn),以指導(dǎo)大型信息系統(tǒng)在開(kāi)發(fā)及試運(yùn)行階段的性能優(yōu)化工作。在實(shí)踐過(guò)程中發(fā)現(xiàn)了多處信息系統(tǒng)性能隱患,完善了審計(jì)標(biāo)準(zhǔn)。

    1 數(shù)據(jù)庫(kù)性能指標(biāo)

    業(yè)界通用的Oracle數(shù)據(jù)庫(kù)性能評(píng)價(jià)指標(biāo)主要有系統(tǒng)吞吐量、用戶平均響應(yīng)時(shí)間、磁盤IO、數(shù)據(jù)庫(kù)AWR報(bào)告中的AAS/CPU_Count(DB time/Elapsed)比值4個(gè)指標(biāo)。

    (1)系統(tǒng)吞吐量。系統(tǒng)吞吐量指單位時(shí)間內(nèi)數(shù)據(jù)庫(kù)完成的SQL語(yǔ)句數(shù)目,以每秒的事務(wù)量(TPS)表示。

    (2)用戶平均響應(yīng)時(shí)間。響應(yīng)時(shí)間指用戶從提交SQL語(yǔ)句開(kāi)始到獲得結(jié)果集的第一行所需要的時(shí)間,是應(yīng)用作出反應(yīng)的時(shí)間,以毫秒或秒表示。

    (3)磁盤IO。數(shù)據(jù)庫(kù)中發(fā)生的每個(gè)動(dòng)作幾乎都將產(chǎn)生某種類型的IO活動(dòng),該活動(dòng)可以是邏輯的(在內(nèi)存中),也可以是物理的(在磁盤上)。通過(guò)降低不必要的IO開(kāi)銷,可增加用戶任務(wù)獲得的吞吐量,縮短用戶“響應(yīng)時(shí)間”。其中,磁盤IO操作是數(shù)據(jù)庫(kù)性能最重要的方面,是計(jì)算機(jī)最大的開(kāi)銷。因此,通過(guò)減少不必要的磁盤IO,可大大提高系統(tǒng)性能。

    (4)AAS/CPU_Count比值。DB Time為某一時(shí)段時(shí)間數(shù)據(jù)庫(kù)使用的CPU時(shí)間的總和,平均活動(dòng)會(huì)話Average Active Session(AAS)=DB Time/elaspsed time(歷時(shí)),通過(guò)AAS指標(biāo)可以衡量數(shù)據(jù)庫(kù)的繁忙程度。每一個(gè)CPU時(shí)間由操作系統(tǒng)分成CPU時(shí)間片,CPU時(shí)間片以輪詢模式分配給線程或進(jìn)程,計(jì)算在最小單位CPU片段內(nèi)整個(gè)系統(tǒng)允許的最大CPU個(gè)數(shù)。通過(guò)比較AAS值與CPU可以衡量數(shù)據(jù)庫(kù)繁忙程度。

    AAS/CPU_Count ≈0非??臻e;

    AAS/CPU_Count <= 0.5沒(méi)堵塞;

    AAS/CPU_Count≈1部分進(jìn)程已達(dá)100%,應(yīng)用開(kāi)始出現(xiàn)緩慢;

    AAS/CPU_Count>或>>1出現(xiàn)性能問(wèn)題或堵死、掛死狀態(tài)。

    2 數(shù)據(jù)庫(kù)開(kāi)發(fā)審計(jì)

    基于Oracle數(shù)據(jù)庫(kù)的開(kāi)發(fā)審計(jì)主要對(duì)SQL語(yǔ)句和表設(shè)計(jì)兩個(gè)維度進(jìn)行分析。

    2.1 SQL語(yǔ)句分析

    較大的表使用全表掃描的SQL會(huì)導(dǎo)致過(guò)多的邏輯讀,降低SQL的執(zhí)行效率,引起latch:cache buffer chain、direct path read 等異常等待事件,最終導(dǎo)致數(shù)據(jù)庫(kù)主機(jī)CPU、IO使用率過(guò)高,數(shù)據(jù)庫(kù)繁忙。

    高耗時(shí)的SQL會(huì)引起數(shù)據(jù)庫(kù)的大部分資源(IO、CPU等)被少數(shù)幾條SQL占用,引起數(shù)據(jù)庫(kù)繁忙,大大降低系統(tǒng)的吞吐量。

    SELECT *語(yǔ)句雖然獲取了表中的所有列數(shù)據(jù),但實(shí)際情況卻可能只需要其中一列或少許列,其它列數(shù)據(jù)對(duì)應(yīng)用功能是多余的,導(dǎo)致數(shù)據(jù)庫(kù)采用最大的可能來(lái)滿足應(yīng)用需求。如果應(yīng)用代碼能夠明確寫明編程意圖,列出具體要獲取哪些字段值,就可以提高數(shù)據(jù)庫(kù)的處理能力。如果所需的列在索引里已存在,Oracle就只要查詢索引即可返回結(jié)果,不需要查詢表數(shù)據(jù)本身,這樣可極大提高SQL的執(zhí)行效率,大幅降低對(duì)IO的請(qǐng)求,減少信息系統(tǒng)和數(shù)據(jù)庫(kù)通訊的數(shù)據(jù)量。

    在條件列進(jìn)行函數(shù)運(yùn)算,將會(huì)導(dǎo)致列上的索引無(wú)法使用,數(shù)據(jù)庫(kù)被迫進(jìn)行全表掃描,大大降低SQL的執(zhí)行效率。

    2.2 表設(shè)計(jì)分析

    大對(duì)象數(shù)據(jù)一般非常大,被databuffer緩存的可能性非常小,因此讀寫大對(duì)象數(shù)據(jù)會(huì)導(dǎo)致比較多的IO開(kāi)銷。如大對(duì)象數(shù)據(jù)使用獨(dú)立表空間就可以獨(dú)立進(jìn)行磁盤管理,甚至分散到多個(gè)磁盤來(lái)存儲(chǔ),從而提高IO的吞吐量[3]。

    大對(duì)象讀寫的數(shù)據(jù)單元一般大于數(shù)據(jù)庫(kù)默認(rèn)的數(shù)據(jù)塊大小。如果大數(shù)據(jù)字段的數(shù)據(jù)塊配置太小,會(huì)導(dǎo)致比較多的IO次數(shù)。增加大對(duì)象獨(dú)立表空間的數(shù)據(jù)塊大小可以減少IO次數(shù),提高性能。

    應(yīng)用程序動(dòng)態(tài)創(chuàng)建實(shí)體表,表定義會(huì)保留在數(shù)字字典中。大量動(dòng)態(tài)實(shí)體表創(chuàng)建會(huì)導(dǎo)致Oracle數(shù)字字典過(guò)大,降低數(shù)據(jù)庫(kù)性能。信息系統(tǒng)如大量采用動(dòng)態(tài)表創(chuàng)建機(jī)制而清理不及時(shí),會(huì)大大增加數(shù)據(jù)字典數(shù)量,進(jìn)而增加SQL的執(zhí)行時(shí)間。此外,對(duì)大數(shù)據(jù)量的表執(zhí)行全表掃描,會(huì)導(dǎo)致過(guò)多的邏輯讀,導(dǎo)致數(shù)據(jù)庫(kù)繁忙、CPU使用率過(guò)高。

    主鍵是表內(nèi)數(shù)據(jù)唯一性的主要標(biāo)識(shí),主鍵設(shè)計(jì)可以有效保障數(shù)據(jù)質(zhì)量,避免重復(fù)數(shù)據(jù)。在多表關(guān)聯(lián)的SQL語(yǔ)句中,主鍵和外鍵是常見(jiàn)的關(guān)聯(lián)條件列。如果沒(méi)有主鍵和外鍵索引存在,就會(huì)嚴(yán)重影響SQL語(yǔ)句的執(zhí)行計(jì)劃生成和執(zhí)行效率,大大降低系統(tǒng)吞吐量,增加用戶響應(yīng)時(shí)間。

    創(chuàng)建大量的單列索引會(huì)導(dǎo)致索引數(shù)量太多,降低DML語(yǔ)句性能和IO效率。單列索引對(duì)數(shù)據(jù)的過(guò)濾能力(離散度)有限,對(duì)識(shí)別能力不強(qiáng)的字段創(chuàng)建索引,會(huì)導(dǎo)致即使有索引也要讀取大量的無(wú)效數(shù)據(jù)。太多的單列索引可能會(huì)導(dǎo)致Oracle執(zhí)行計(jì)劃困難,甚至產(chǎn)生不恰當(dāng)?shù)膱?zhí)行計(jì)劃,嚴(yán)重影響執(zhí)行效率。

    如果表上只有主鍵而沒(méi)有普通索引,那么這個(gè)表發(fā)生全表掃描的可能性非常大。特別是系統(tǒng)用戶數(shù)、數(shù)據(jù)量較大時(shí),會(huì)產(chǎn)生嚴(yán)重的性能問(wèn)題,導(dǎo)致過(guò)高的磁盤IO和緩慢的用戶響應(yīng),降低系統(tǒng)吞吐量。

    2.3 數(shù)據(jù)庫(kù)開(kāi)發(fā)審計(jì)標(biāo)準(zhǔn)

    數(shù)據(jù)庫(kù)開(kāi)發(fā)審計(jì)由于缺乏定量指標(biāo),無(wú)法直接用于數(shù)據(jù)庫(kù)開(kāi)發(fā)。根據(jù)上述原理,本文提出一種數(shù)據(jù)庫(kù)開(kāi)發(fā)審計(jì)標(biāo)準(zhǔn),在數(shù)據(jù)庫(kù)開(kāi)發(fā)過(guò)程或系統(tǒng)上線前對(duì)SQL及表索引設(shè)計(jì)進(jìn)行審計(jì),以避免系統(tǒng)在實(shí)際生產(chǎn)過(guò)程中出現(xiàn)性能瓶頸。

    2.3.1 表審計(jì)

    表審計(jì)是在數(shù)據(jù)庫(kù)的所有表中查找設(shè)計(jì)不佳的表,并對(duì)這些表的數(shù)量進(jìn)行統(tǒng)計(jì)。設(shè)計(jì)不佳的表有3種類型:①大對(duì)象使用:統(tǒng)計(jì)存在大對(duì)象但是對(duì)大對(duì)象字段沒(méi)有單獨(dú)的表空間存放;②動(dòng)態(tài)創(chuàng)建表:在應(yīng)用程序運(yùn)行過(guò)程中,動(dòng)態(tài)創(chuàng)建實(shí)體表; ③大數(shù)據(jù)量表:當(dāng)前(或預(yù)期)數(shù)據(jù)量大于2 000萬(wàn)行(或大于2GB)的、尚未制定數(shù)據(jù)生命周期策略的表。數(shù)據(jù)生命周期策略包括轉(zhuǎn)儲(chǔ)策略、索引分區(qū)、數(shù)據(jù)分區(qū)、數(shù)據(jù)分離等[2]。

    2.3.2 索引審計(jì)

    索引審計(jì)是在數(shù)據(jù)庫(kù)的所有索引中查找設(shè)計(jì)不佳的索引,并對(duì)這些索引數(shù)量進(jìn)行統(tǒng)計(jì)。設(shè)計(jì)不佳的索引類型有:①主鍵設(shè)計(jì):統(tǒng)計(jì)沒(méi)有設(shè)計(jì)主鍵且沒(méi)有唯一索引的表。在數(shù)據(jù)模型設(shè)計(jì)過(guò)程中,主鍵是一張表的重要設(shè)計(jì)項(xiàng)目,原則上每張表必須確保有合適的主鍵;②組合索引:統(tǒng)計(jì)擁有5個(gè)或以上索引的表的數(shù)量。一個(gè)表的索引多于5個(gè)就要進(jìn)行審核和監(jiān)控,判斷這些索引設(shè)計(jì)是否合理;③無(wú)普通索引:統(tǒng)計(jì)所有只有主鍵沒(méi)有其它索引的表的數(shù)量。當(dāng)SQL使用非主鍵的列作為條件列來(lái)查詢數(shù)據(jù)時(shí),如果沒(méi)有合適的索引,就會(huì)導(dǎo)致全表掃描。

    2.3.3 SQL審計(jì)

    SQL審計(jì)是在數(shù)據(jù)庫(kù)的所有執(zhí)行記錄中查找性能不佳的SQL,并對(duì)這些SQL數(shù)量進(jìn)行統(tǒng)計(jì)。性能不佳的SQL類型:①全表掃描:統(tǒng)計(jì)出現(xiàn)全表掃描的SQL數(shù)量。全表掃描是指Oracle在訪問(wèn)目標(biāo)表里的數(shù)據(jù)時(shí),會(huì)從該表所占用的第一個(gè)區(qū)(EXTENT)的第一個(gè)塊(BLOCK)開(kāi)始掃描,一直掃描到該表的高水位線(HWM,High Water Mark),這段范圍內(nèi)所有的數(shù)據(jù)塊Oracle都必須讀到。在OLTP類型的數(shù)據(jù)庫(kù)中,對(duì)大表的全表掃描所耗費(fèi)的IO資源和時(shí)間,隨著數(shù)據(jù)量的增加而增加;②條件列函數(shù)運(yùn)算:統(tǒng)計(jì)SQL語(yǔ)句中對(duì)表的查詢條件字段添加了計(jì)算函數(shù)(如substr,length等)的SQL數(shù)量。這類SQL導(dǎo)致該字段上的索引無(wú)法使用,從而導(dǎo)致低效的全表掃描,并可能改變執(zhí)行計(jì)劃,這種現(xiàn)象必須盡量在應(yīng)用程序中避免;③SELECT *:統(tǒng)計(jì)所有含有SELECT *的SQL語(yǔ)句數(shù)量。Oracle在SQL解析過(guò)程中,會(huì)將“*”依次轉(zhuǎn)換成所有的列名。這個(gè)工作通過(guò)查詢數(shù)據(jù)字典完成,意味著將耗費(fèi)更多的時(shí)間。為提高SQL語(yǔ)句解釋速度,應(yīng)避免在SQL語(yǔ)句使用“*”代替所有字段名;④高耗時(shí)SQL:統(tǒng)計(jì)所有執(zhí)行時(shí)間大于2秒的SQL語(yǔ)句數(shù)量。實(shí)時(shí)監(jiān)控信息系統(tǒng)中正常執(zhí)行的Top SQL,將這些SQL不間斷優(yōu)化,以保持信息系統(tǒng)數(shù)據(jù)庫(kù)的良好性能狀況。

    2.3.4 數(shù)據(jù)庫(kù)開(kāi)發(fā)審計(jì)實(shí)施

    為防止不穩(wěn)定或不成熟的系統(tǒng)上線,必須建立一套準(zhǔn)確有效的數(shù)據(jù)庫(kù)開(kāi)發(fā)審計(jì)標(biāo)準(zhǔn),在測(cè)試環(huán)境或準(zhǔn)正式環(huán)境中模擬運(yùn)行系統(tǒng)所有功能,使數(shù)據(jù)庫(kù)審計(jì)能有效獲取系統(tǒng)執(zhí)行痕跡,估算各種痕跡可能存在的性能隱患,并進(jìn)行評(píng)定,根據(jù)評(píng)定分值衡量一個(gè)系統(tǒng)的性能健康程度。

    當(dāng)系統(tǒng)達(dá)標(biāo)上線后,由于數(shù)據(jù)量或數(shù)據(jù)分布情況的不斷變化,大量的系統(tǒng)功能BUG會(huì)不停地變更修復(fù),同時(shí)新的功能也會(huì)不斷加入進(jìn)來(lái)。為了保障這些變更或新增功能的有效運(yùn)行,必須對(duì)每次系統(tǒng)的升級(jí)變更進(jìn)行全面的性能審計(jì),及早發(fā)現(xiàn)問(wèn)題。對(duì)于審計(jì)后的系統(tǒng)運(yùn)行也需要不斷監(jiān)控,發(fā)現(xiàn)問(wèn)題及時(shí)通過(guò)SQL和Index進(jìn)行優(yōu)化。上述過(guò)程是有效保障系統(tǒng)數(shù)據(jù)庫(kù)性能穩(wěn)定的有效方法。

    2.4 數(shù)據(jù)庫(kù)開(kāi)發(fā)審計(jì)實(shí)踐

    某大型國(guó)企的核心信息系統(tǒng)建設(shè)項(xiàng)目,業(yè)主采用基于SQL語(yǔ)句和表設(shè)計(jì)的數(shù)據(jù)庫(kù)開(kāi)發(fā)審計(jì)標(biāo)準(zhǔn)進(jìn)行數(shù)據(jù)庫(kù)開(kāi)發(fā)審計(jì)。在系統(tǒng)出廠測(cè)試時(shí)進(jìn)行第一次開(kāi)發(fā)審計(jì),隨后在部署完成、試運(yùn)行、正式運(yùn)行3個(gè)關(guān)鍵時(shí)間節(jié)點(diǎn)進(jìn)行3次數(shù)據(jù)庫(kù)開(kāi)發(fā)審計(jì)復(fù)核。這4次開(kāi)發(fā)審計(jì)的綜合評(píng)定結(jié)果如表1所示。

    在每次開(kāi)發(fā)審計(jì)完成后,均要求項(xiàng)目開(kāi)發(fā)商針對(duì)評(píng)定結(jié)果、詳細(xì)問(wèn)題列表和改善建議進(jìn)行整改。經(jīng)過(guò)開(kāi)發(fā)商和數(shù)據(jù)庫(kù)管理員的多次整改,所有審計(jì)違規(guī)項(xiàng)均大幅減少,主要數(shù)據(jù)庫(kù)性能指標(biāo)有明顯改善,詳見(jiàn)表2和圖1。

    從圖1可以看出,經(jīng)過(guò)多次審計(jì)和整改,系統(tǒng)數(shù)據(jù)庫(kù)各項(xiàng)性能指標(biāo)均有大幅提升。系統(tǒng)吞吐量由54上升至186,提升近3倍;用戶響應(yīng)時(shí)間明顯下降,第3次復(fù)核后的響應(yīng)時(shí)間僅是初次審計(jì)前的2%;磁盤IO顯著降低,讀寫不再是系統(tǒng)瓶頸;反應(yīng)數(shù)據(jù)庫(kù)繁忙程度的指標(biāo)AAS/CPU_Count也從0.7下降至0.2。這些性能指標(biāo)的提升說(shuō)明數(shù)據(jù)庫(kù)開(kāi)發(fā)審計(jì)對(duì)信息系統(tǒng)性能改善有極大的促進(jìn)作用,明確了整改方向,提升了整改效果。

    3次整改使信息系統(tǒng)達(dá)到上線標(biāo)準(zhǔn),如期上線投入使用。上線后,系統(tǒng)吞吐量、用戶響應(yīng)時(shí)間、磁盤IO、AAS/CPU_Count等各項(xiàng)性能指標(biāo)均符合預(yù)期,系統(tǒng)運(yùn)行狀況良好,沒(méi)有出現(xiàn)性能問(wèn)題。

    3 結(jié)語(yǔ)

    基于SQL和表設(shè)計(jì)的Oracle數(shù)據(jù)庫(kù)開(kāi)發(fā)審計(jì)標(biāo)準(zhǔn)可及時(shí)發(fā)現(xiàn)信息系統(tǒng)建設(shè)過(guò)程中的性能隱患、快速定位信息系統(tǒng)問(wèn)題原因、有效開(kāi)展具有針對(duì)性整改,從而提高信息系統(tǒng)開(kāi)發(fā)質(zhì)量,提高信息系統(tǒng)的支撐服務(wù)能力和系統(tǒng)穩(wěn)定性。該套數(shù)據(jù)庫(kù)開(kāi)發(fā)審計(jì)標(biāo)準(zhǔn)可應(yīng)用在各類大型信息系統(tǒng)開(kāi)發(fā)、建設(shè)和運(yùn)維工作中。

    參考文獻(xiàn):

    [1] 崔華.基于Oracle的SQL優(yōu)化[M].北京:電子工業(yè)出版社,2014.

    [2] 譚懷遠(yuǎn).讓Oracle跑得更快2—基于海量數(shù)據(jù)的數(shù)據(jù)庫(kù)設(shè)計(jì)與優(yōu)化[M].北京:電子工業(yè)出版社,2011.

    [3] THOMAS KYTE.Oracle database 9i/10g/11g編程藝術(shù)[M].蘇金國(guó),王小振,譯.北京:人民郵電出版社,2009.

    (責(zé)任編輯:杜能鋼)

    在现免费观看毛片| 亚洲一区高清亚洲精品| 久久久a久久爽久久v久久| 久久久久免费精品人妻一区二区| 我的老师免费观看完整版| 97人妻精品一区二区三区麻豆| 精品久久久久久久久av| 春色校园在线视频观看| 国产 一区 欧美 日韩| 欧美+日韩+精品| 边亲边吃奶的免费视频| 亚洲av免费在线观看| 最近中文字幕高清免费大全6| 久久久久精品性色| 国产高清三级在线| 国产精品久久久久久久电影| 婷婷六月久久综合丁香| 国产精品久久久久久av不卡| 中文字幕制服av| kizo精华| 亚洲精品视频女| 中文精品一卡2卡3卡4更新| 欧美成人a在线观看| 又爽又黄无遮挡网站| 国产免费福利视频在线观看| 色综合亚洲欧美另类图片| 中国国产av一级| 日韩亚洲欧美综合| 男女那种视频在线观看| 肉色欧美久久久久久久蜜桃 | 久久久成人免费电影| 偷拍熟女少妇极品色| av女优亚洲男人天堂| 国产在视频线在精品| 免费大片黄手机在线观看| 日韩av在线免费看完整版不卡| 精品午夜福利在线看| 亚洲婷婷狠狠爱综合网| 欧美丝袜亚洲另类| 99久久精品一区二区三区| 免费观看av网站的网址| 在线免费观看的www视频| 日日摸夜夜添夜夜爱| 日本黄色片子视频| 91狼人影院| 日韩人妻高清精品专区| 国产一区二区亚洲精品在线观看| 亚洲人与动物交配视频| 少妇的逼水好多| 日本黄大片高清| 亚洲伊人久久精品综合| 好男人视频免费观看在线| 91精品国产九色| 亚洲欧美成人精品一区二区| 亚洲精品久久久久久婷婷小说| 久久人人爽人人爽人人片va| 国产片特级美女逼逼视频| 日日啪夜夜爽| 三级男女做爰猛烈吃奶摸视频| 男人舔女人下体高潮全视频| 精品久久久久久久末码| 久久久a久久爽久久v久久| 成人亚洲欧美一区二区av| 亚洲欧洲国产日韩| 亚洲va在线va天堂va国产| 狠狠精品人妻久久久久久综合| 伦精品一区二区三区| 国产av在哪里看| av一本久久久久| 午夜爱爱视频在线播放| 午夜免费男女啪啪视频观看| 亚洲精品亚洲一区二区| 少妇裸体淫交视频免费看高清| 三级国产精品片| 成人午夜精彩视频在线观看| av在线观看视频网站免费| 亚洲精品国产成人久久av| 三级毛片av免费| 久久久精品免费免费高清| 亚洲精品aⅴ在线观看| 国产男人的电影天堂91| 在线免费十八禁| 青春草视频在线免费观看| 亚洲欧美一区二区三区黑人 | 秋霞伦理黄片| 蜜臀久久99精品久久宅男| 色综合站精品国产| 国产69精品久久久久777片| 在线播放无遮挡| 熟妇人妻久久中文字幕3abv| 亚洲欧美精品专区久久| 啦啦啦中文免费视频观看日本| 国产69精品久久久久777片| 中文资源天堂在线| 日韩伦理黄色片| 欧美日韩视频高清一区二区三区二| 少妇熟女欧美另类| 国产探花极品一区二区| 91av网一区二区| 欧美一区二区亚洲| 午夜福利成人在线免费观看| 国产精品1区2区在线观看.| 又大又黄又爽视频免费| 国产在视频线精品| 久久精品熟女亚洲av麻豆精品 | 在线观看免费高清a一片| 亚洲国产成人一精品久久久| 国产精品久久久久久久电影| 国国产精品蜜臀av免费| 亚洲成人一二三区av| 欧美人与善性xxx| 久久99蜜桃精品久久| 欧美一区二区亚洲| 国产在视频线在精品| 亚洲国产高清在线一区二区三| 爱豆传媒免费全集在线观看| 亚洲国产色片| 久久精品国产亚洲av涩爱| 极品少妇高潮喷水抽搐| 国产精品1区2区在线观看.| 亚洲综合色惰| 水蜜桃什么品种好| 免费大片黄手机在线观看| 男人舔女人下体高潮全视频| 国产亚洲av嫩草精品影院| 中文字幕久久专区| 黄片无遮挡物在线观看| 亚洲欧美日韩卡通动漫| 国产高清三级在线| 免费看a级黄色片| 一夜夜www| 99热这里只有精品一区| 精品一区二区三区人妻视频| 国产精品女同一区二区软件| 内地一区二区视频在线| 亚洲精品aⅴ在线观看| 淫秽高清视频在线观看| 欧美成人午夜免费资源| 男的添女的下面高潮视频| 男女国产视频网站| 干丝袜人妻中文字幕| 久久久久国产网址| 国产成年人精品一区二区| 能在线免费观看的黄片| 久久久久国产网址| 高清av免费在线| 成人av在线播放网站| 午夜免费男女啪啪视频观看| 亚洲怡红院男人天堂| 日本欧美国产在线视频| 亚洲欧美成人精品一区二区| 日韩欧美三级三区| 成人鲁丝片一二三区免费| 亚洲经典国产精华液单| 2018国产大陆天天弄谢| 久久草成人影院| 免费av不卡在线播放| 国产一区亚洲一区在线观看| 国产视频内射| 不卡视频在线观看欧美| 亚洲国产欧美在线一区| 最近的中文字幕免费完整| 内射极品少妇av片p| 成人国产麻豆网| 亚洲va在线va天堂va国产| 一级毛片aaaaaa免费看小| 亚洲真实伦在线观看| 久久97久久精品| 国产乱人偷精品视频| 纵有疾风起免费观看全集完整版 | 一级爰片在线观看| 我的老师免费观看完整版| 丰满乱子伦码专区| 成年av动漫网址| 熟女电影av网| 视频中文字幕在线观看| 国产日韩欧美在线精品| 精品久久久久久久久亚洲| 插阴视频在线观看视频| 91狼人影院| 国产伦精品一区二区三区视频9| videossex国产| 啦啦啦韩国在线观看视频| 只有这里有精品99| 一本久久精品| 欧美+日韩+精品| 亚洲av男天堂| 三级毛片av免费| 欧美激情久久久久久爽电影| 一边亲一边摸免费视频| 极品教师在线视频| 一区二区三区高清视频在线| 一级二级三级毛片免费看| 亚洲人成网站在线播| 你懂的网址亚洲精品在线观看| 精品久久国产蜜桃| 直男gayav资源| 男的添女的下面高潮视频| 亚洲精品久久午夜乱码| 老女人水多毛片| 22中文网久久字幕| 性插视频无遮挡在线免费观看| 夜夜爽夜夜爽视频| 久久久久精品久久久久真实原创| 国产美女午夜福利| 在线a可以看的网站| 国产av不卡久久| 久久99热6这里只有精品| 免费看光身美女| 日韩欧美三级三区| 99热这里只有是精品在线观看| 欧美最新免费一区二区三区| 99九九线精品视频在线观看视频| 亚洲图色成人| 日本与韩国留学比较| 一区二区三区免费毛片| 高清视频免费观看一区二区 | 18+在线观看网站| 少妇被粗大猛烈的视频| 久久精品夜色国产| 国产熟女欧美一区二区| 日日干狠狠操夜夜爽| 国产成人a区在线观看| 婷婷色麻豆天堂久久| 69av精品久久久久久| 天堂网av新在线| av播播在线观看一区| 午夜福利在线观看吧| 日韩欧美一区视频在线观看 | 老女人水多毛片| 日日啪夜夜撸| 日本一二三区视频观看| 欧美日本视频| 国产一区亚洲一区在线观看| 欧美高清性xxxxhd video| 麻豆久久精品国产亚洲av| 免费看美女性在线毛片视频| 亚洲在线观看片| av播播在线观看一区| 国内精品宾馆在线| 夫妻性生交免费视频一级片| 最近中文字幕高清免费大全6| 免费人成在线观看视频色| 男人舔女人下体高潮全视频| 亚洲精品中文字幕在线视频 | 欧美日韩国产mv在线观看视频 | av专区在线播放| 久久99热这里只有精品18| 久久久色成人| 亚洲成人av在线免费| 乱人视频在线观看| 成人欧美大片| 精品午夜福利在线看| 狠狠精品人妻久久久久久综合| 亚洲精品自拍成人| 中文乱码字字幕精品一区二区三区 | 亚洲av国产av综合av卡| 五月天丁香电影| 网址你懂的国产日韩在线| 日韩强制内射视频| 亚洲av中文字字幕乱码综合| 亚洲av成人av| 国产综合懂色| 国产成人91sexporn| 麻豆精品久久久久久蜜桃| 一级毛片黄色毛片免费观看视频| 亚洲国产精品成人综合色| 97超碰精品成人国产| 亚洲精品色激情综合| 成年av动漫网址| 人人妻人人澡欧美一区二区| 一本一本综合久久| 亚洲成色77777| 搡老乐熟女国产| 麻豆av噜噜一区二区三区| 三级经典国产精品| 国产免费一级a男人的天堂| 亚洲精品久久午夜乱码| 小蜜桃在线观看免费完整版高清| 亚洲精品日韩av片在线观看| 能在线免费观看的黄片| 国产成人精品福利久久| 国产视频首页在线观看| 99久国产av精品| 青春草视频在线免费观看| av在线老鸭窝| 少妇被粗大猛烈的视频| 国产精品熟女久久久久浪| 成人综合一区亚洲| 亚洲综合色惰| 国产中年淑女户外野战色| 欧美高清成人免费视频www| 国产一区二区在线观看日韩| 熟女人妻精品中文字幕| 特级一级黄色大片| 激情五月婷婷亚洲| 亚洲国产成人一精品久久久| 1000部很黄的大片| av国产久精品久网站免费入址| 亚洲在线自拍视频| 日本与韩国留学比较| 2022亚洲国产成人精品| 久久6这里有精品| 欧美高清成人免费视频www| 91aial.com中文字幕在线观看| 嫩草影院新地址| 91精品一卡2卡3卡4卡| 国产白丝娇喘喷水9色精品| 日韩三级伦理在线观看| 美女高潮的动态| 人妻制服诱惑在线中文字幕| 日日干狠狠操夜夜爽| 老女人水多毛片| 国产精品综合久久久久久久免费| 免费观看无遮挡的男女| 色5月婷婷丁香| 亚洲av成人精品一二三区| 毛片女人毛片| 欧美人与善性xxx| 激情 狠狠 欧美| 国产一级毛片在线| 国产有黄有色有爽视频| videossex国产| 欧美xxxx性猛交bbbb| 天堂网av新在线| 国产一区二区在线观看日韩| 国产精品人妻久久久影院| 午夜爱爱视频在线播放| 黄色日韩在线| 久久6这里有精品| 国产成人a区在线观看| 国产一级毛片七仙女欲春2| 国产精品福利在线免费观看| 亚洲精品色激情综合| 免费av不卡在线播放| 熟妇人妻久久中文字幕3abv| 久久久久久九九精品二区国产| 神马国产精品三级电影在线观看| 一级片'在线观看视频| 精品人妻熟女av久视频| 波野结衣二区三区在线| 亚洲怡红院男人天堂| 国产乱来视频区| 少妇熟女aⅴ在线视频| av又黄又爽大尺度在线免费看| 丰满少妇做爰视频| 成人二区视频| 边亲边吃奶的免费视频| 淫秽高清视频在线观看| 亚洲欧美中文字幕日韩二区| 国产伦一二天堂av在线观看| 在线观看av片永久免费下载| 国产成人免费观看mmmm| 亚洲欧美日韩卡通动漫| 极品教师在线视频| 人妻一区二区av| 神马国产精品三级电影在线观看| 91久久精品国产一区二区三区| 亚洲国产色片| 天堂av国产一区二区熟女人妻| 婷婷色综合大香蕉| 久久精品久久精品一区二区三区| 亚洲欧美一区二区三区国产| 日韩一区二区视频免费看| 久久精品人妻少妇| 亚洲一级一片aⅴ在线观看| 美女cb高潮喷水在线观看| 成人亚洲精品av一区二区| 免费少妇av软件| 国产成人freesex在线| xxx大片免费视频| 国产一级毛片在线| 男女边摸边吃奶| 狂野欧美白嫩少妇大欣赏| 久久久久久久久久久免费av| 日韩强制内射视频| 亚洲欧美成人精品一区二区| 爱豆传媒免费全集在线观看| 亚洲av电影不卡..在线观看| 日本色播在线视频| 亚洲国产色片| 美女脱内裤让男人舔精品视频| 一本久久精品| 看免费成人av毛片| 夫妻午夜视频| 18+在线观看网站| 久久久久久久久大av| 久久精品久久久久久久性| 欧美xxⅹ黑人| 亚洲婷婷狠狠爱综合网| 亚洲欧美成人精品一区二区| 综合色丁香网| 精品久久久久久久人妻蜜臀av| 男女国产视频网站| 中文字幕久久专区| 亚洲综合色惰| 中文字幕久久专区| 国产精品久久久久久精品电影| 精品久久久精品久久久| 嘟嘟电影网在线观看| 国产成人午夜福利电影在线观看| 3wmmmm亚洲av在线观看| 日韩av在线大香蕉| 伊人久久国产一区二区| 三级国产精品欧美在线观看| 欧美性感艳星| 午夜精品国产一区二区电影 | 不卡视频在线观看欧美| 成人毛片a级毛片在线播放| 亚洲欧美成人综合另类久久久| 91久久精品国产一区二区成人| 国产视频内射| 国产毛片a区久久久久| 日韩av不卡免费在线播放| 欧美性感艳星| 欧美成人午夜免费资源| 永久网站在线| 美女内射精品一级片tv| 精品久久久噜噜| 少妇被粗大猛烈的视频| 成人av在线播放网站| av.在线天堂| 搡老乐熟女国产| 99热这里只有是精品50| 欧美日韩在线观看h| 久久久精品94久久精品| 欧美一级a爱片免费观看看| 亚洲成人精品中文字幕电影| 少妇人妻精品综合一区二区| 成人高潮视频无遮挡免费网站| 亚洲国产欧美在线一区| 中文字幕免费在线视频6| 亚洲经典国产精华液单| 国产 亚洲一区二区三区 | 能在线免费看毛片的网站| 国产淫语在线视频| 国产午夜精品久久久久久一区二区三区| 国产精品三级大全| 欧美3d第一页| 两个人的视频大全免费| 免费大片18禁| 免费黄网站久久成人精品| 国产一区二区三区综合在线观看 | 日韩av在线免费看完整版不卡| 午夜福利在线观看吧| 亚洲av成人精品一区久久| 亚洲av成人精品一二三区| 天堂俺去俺来也www色官网 | 人人妻人人澡人人爽人人夜夜 | 最近2019中文字幕mv第一页| 中文字幕av在线有码专区| 中文天堂在线官网| 九色成人免费人妻av| 国内精品宾馆在线| 亚洲av二区三区四区| 国产成人精品婷婷| 欧美丝袜亚洲另类| 三级经典国产精品| 蜜臀久久99精品久久宅男| 亚洲国产精品成人久久小说| 午夜免费男女啪啪视频观看| 亚洲精品日韩av片在线观看| 日本爱情动作片www.在线观看| 三级国产精品片| 成人高潮视频无遮挡免费网站| 欧美日韩精品成人综合77777| 亚洲熟女精品中文字幕| 18禁在线无遮挡免费观看视频| 夜夜爽夜夜爽视频| 深爱激情五月婷婷| 国产伦精品一区二区三区四那| 免费看美女性在线毛片视频| 在线播放无遮挡| 亚洲国产精品成人综合色| 人妻一区二区av| 天天躁日日操中文字幕| 一个人看视频在线观看www免费| 亚洲婷婷狠狠爱综合网| 久久鲁丝午夜福利片| av国产久精品久网站免费入址| 亚洲在久久综合| 精品久久久精品久久久| 免费av不卡在线播放| 成人无遮挡网站| 午夜视频国产福利| 午夜激情久久久久久久| 乱码一卡2卡4卡精品| 国产成人免费观看mmmm| 熟女人妻精品中文字幕| 少妇被粗大猛烈的视频| 亚洲精品中文字幕在线视频 | 免费av观看视频| 99热网站在线观看| 国产综合懂色| 日韩大片免费观看网站| 看黄色毛片网站| 国产亚洲91精品色在线| 国产伦一二天堂av在线观看| 狂野欧美激情性xxxx在线观看| 欧美潮喷喷水| 搡老妇女老女人老熟妇| 人妻一区二区av| 免费大片18禁| 日本熟妇午夜| 日日干狠狠操夜夜爽| 亚洲欧美一区二区三区黑人 | 美女黄网站色视频| 色尼玛亚洲综合影院| 婷婷色综合大香蕉| 青春草视频在线免费观看| 日韩三级伦理在线观看| 亚洲,欧美,日韩| 国产综合精华液| 欧美变态另类bdsm刘玥| 久久97久久精品| 不卡视频在线观看欧美| 午夜精品在线福利| av.在线天堂| 韩国高清视频一区二区三区| 91午夜精品亚洲一区二区三区| 国产91av在线免费观看| 色哟哟·www| 亚洲在线自拍视频| 日本爱情动作片www.在线观看| 高清午夜精品一区二区三区| 综合色丁香网| 99久久人妻综合| 免费av毛片视频| 免费av观看视频| 色综合站精品国产| 一个人看的www免费观看视频| 69人妻影院| 国产老妇女一区| 在线观看免费高清a一片| 国产精品.久久久| 男女视频在线观看网站免费| 大陆偷拍与自拍| 麻豆乱淫一区二区| av播播在线观看一区| av在线老鸭窝| 亚洲av成人精品一二三区| 波多野结衣巨乳人妻| 亚洲高清免费不卡视频| 精品人妻一区二区三区麻豆| 美女大奶头视频| 五月天丁香电影| 全区人妻精品视频| 在线观看av片永久免费下载| 国产精品久久视频播放| 亚洲av日韩在线播放| 国产高清国产精品国产三级 | 国产有黄有色有爽视频| 两个人视频免费观看高清| 可以在线观看毛片的网站| 少妇的逼好多水| 国产单亲对白刺激| 国产不卡一卡二| 最近2019中文字幕mv第一页| 中国美白少妇内射xxxbb| 青青草视频在线视频观看| 成人欧美大片| a级毛片免费高清观看在线播放| 国产成人精品一,二区| 亚洲内射少妇av| 女的被弄到高潮叫床怎么办| 国产免费一级a男人的天堂| 男人爽女人下面视频在线观看| 亚洲色图av天堂| 欧美成人一区二区免费高清观看| 在线播放无遮挡| 国产精品久久久久久精品电影| 亚洲精品成人av观看孕妇| 在线观看av片永久免费下载| av卡一久久| 尾随美女入室| 国产成人免费观看mmmm| 久久精品国产鲁丝片午夜精品| 日韩中字成人| 国产乱人偷精品视频| 亚洲国产精品sss在线观看| 国产精品嫩草影院av在线观看| 国产成人一区二区在线| 日韩不卡一区二区三区视频在线| 午夜福利在线观看吧| 国内精品一区二区在线观看| 日韩伦理黄色片| 国产黄色视频一区二区在线观看| 你懂的网址亚洲精品在线观看| 国产精品美女特级片免费视频播放器| 神马国产精品三级电影在线观看| 一区二区三区免费毛片| 国产午夜精品久久久久久一区二区三区| 欧美 日韩 精品 国产| 色哟哟·www| 中国美白少妇内射xxxbb| 在线 av 中文字幕| 国产永久视频网站| 国产 一区 欧美 日韩| 高清av免费在线| 国产男女超爽视频在线观看| 一区二区三区乱码不卡18| 欧美激情久久久久久爽电影| av女优亚洲男人天堂| 国产精品综合久久久久久久免费| 日日啪夜夜爽| 久久久国产一区二区| 免费av不卡在线播放| 高清欧美精品videossex| 26uuu在线亚洲综合色| 国产久久久一区二区三区| 一级毛片 在线播放| 午夜精品一区二区三区免费看| 五月玫瑰六月丁香| 精品酒店卫生间| 婷婷色综合www|