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

        ?

        SQL數(shù)據(jù)庫(kù)查詢效率的研究

        2016-03-09 00:37:06姚曦
        電腦與電信 2016年7期
        關(guān)鍵詞:運(yùn)算符子句關(guān)系數(shù)據(jù)庫(kù)

        姚曦

        (福建衛(wèi)生職業(yè)技術(shù)學(xué)院公共基礎(chǔ)部,福建 福州 350101)

        SQL數(shù)據(jù)庫(kù)查詢效率的研究

        姚曦

        (福建衛(wèi)生職業(yè)技術(shù)學(xué)院公共基礎(chǔ)部,福建 福州 350101)

        本文介紹了SQL中連接的種類,連接的操作步驟,連接的語(yǔ)法。重點(diǎn)解析了在基于多表連接的查詢中如何提高效率,并通過(guò)學(xué)生數(shù)據(jù)庫(kù)的實(shí)例進(jìn)一步說(shuō)明。

        連接;多表;優(yōu)化查詢

        1 概論

        數(shù)據(jù)庫(kù)性能問(wèn)題一直是決策者及技術(shù)人員共同關(guān)注的焦點(diǎn),影響數(shù)據(jù)庫(kù)性能的一個(gè)重要因素就是SQL查詢語(yǔ)句的效率。SQL是結(jié)構(gòu)化查詢語(yǔ)言(Structured Query Language)的縮寫,SQL語(yǔ)言的功能包括數(shù)據(jù)查詢、數(shù)據(jù)操縱、數(shù)據(jù)定義和數(shù)據(jù)控制等部分,主要應(yīng)用于關(guān)系數(shù)據(jù)庫(kù),實(shí)現(xiàn)了關(guān)系數(shù)據(jù)庫(kù)中的數(shù)據(jù)檢索。數(shù)據(jù)庫(kù)一般是由多張表來(lái)實(shí)現(xiàn)存儲(chǔ),并通過(guò)多張表之間的連接關(guān)系建立完整有效的數(shù)據(jù)查詢。作為數(shù)據(jù)查詢語(yǔ)言SQL,提供了功能強(qiáng)大的數(shù)據(jù)表連接查詢功能。那么如何將這些表高效地有機(jī)地聯(lián)系起來(lái),就成為設(shè)計(jì)關(guān)系數(shù)據(jù)庫(kù)的一個(gè)重要指標(biāo)。

        2 多表連接的類型

        在關(guān)系數(shù)據(jù)庫(kù)應(yīng)用中,由于需要經(jīng)常對(duì)多個(gè)關(guān)聯(lián)表進(jìn)行操作,可以通過(guò)同時(shí)檢索多個(gè)表來(lái)獲取所需的數(shù)據(jù)。一般分為三種連接的模式:內(nèi)連接(INNER JOIN),外連接(OUTER JOIN),交叉連接(CROSS JOIN)。語(yǔ)法的連接格式如下:

        <連接>::=

        {

        <表名>[{INNER

        |{{LEFT|RIGHT|FULL}[OUTER]}

        |CROSS

        }]

        JOIN<表名>

        ON<連接條件>

        }

        2.1 內(nèi)連接(INNER JOIN)

        內(nèi)連接使用比較運(yùn)算符進(jìn)行表間某(些)列數(shù)據(jù)的比較操作,并列出與連接條件相匹配的數(shù)據(jù)行。根據(jù)所使用的比較方式的不同,內(nèi)連接又分為等值連接、不等連接和自然連接三種。

        等值連接:在連接條件中使用等于號(hào)(=)運(yùn)算符比較被連接列的列值,其查詢結(jié)果中列出被連接表中的所有列,也包括重復(fù)列。

        不等連接:在連接條件使用除等于運(yùn)算符以外的其它比較運(yùn)算符比較被連接列的列值。這些運(yùn)算符包括>、>=、< =、<、!>、!<和<>。

        自然連接:在連接條件中使用等于(=)運(yùn)算符比較被連接列的列值,但它使用選擇列表指出查詢結(jié)果集合中所包括的列,查詢結(jié)果不包括重復(fù)列。

        2.2 外連接(OUTER JOIN)

        內(nèi)連接返回滿足查詢條件的數(shù)據(jù),不滿足的數(shù)據(jù)不會(huì)保留。而外連接則返回查詢條件中一個(gè)表或視圖的所有數(shù)據(jù)行。

        外連接包括三種模式:左外連接(LEFT OUTER JOIN)、右外連接(RIGHT OUTER JOIN)和全連接(FULL OUTER JOIN)。

        左外連接:保留左表中的所有數(shù)據(jù),如果左表與右表的某些數(shù)據(jù)不匹配,則在結(jié)果集中右表不匹配的數(shù)據(jù)列均為空值。

        右外連接:同左外連接相反,右外連接保留右表中的所有數(shù)據(jù),如果左表與右表的某些數(shù)據(jù)不匹配,則在結(jié)果集中左表不匹配的數(shù)據(jù)列為空值。

        全連接:也稱完整外連接,返回左表與右表中的所有數(shù)

        據(jù)行,如果左表與右表達(dá)某些數(shù)據(jù)不匹配,則在結(jié)果集中的對(duì)應(yīng)列均為空值。

        2.3 交叉連接(CROSS JOIN)

        交叉連接不使用WHERE子句,返回涉及表的笛卡兒積。如查詢表1及表2,表1有m行,表2有n行,查詢結(jié)果集有m×n行。

        3 多表連接的優(yōu)化查詢

        聯(lián)接查詢操作的前提是笛卡兒積,從中找出符合條件的記錄,所以我們?cè)谧鰞?yōu)化時(shí)盡量避免聯(lián)接查詢。如果避免不了的聯(lián)接操作要遵循以下2個(gè)原則從而達(dá)到優(yōu)化時(shí)間和空間的目的。

        給定三個(gè)關(guān)系模式:(以下實(shí)例均以此為例)

        s(sno,sname,sex,birthday,email)

        c(cno,cname,creadit)

        sc(sno,cno,score)

        3.1 選擇最有效率的表名順序(只在基于規(guī)則的優(yōu)化器中有效)

        在進(jìn)行多表連接查詢時(shí),解析器按照從右到左的順序處理FROM子句中的表名,因此FROM子句中寫在最后的表將被優(yōu)先處理。因此在FROM子句中含多個(gè)表的情況下,須選擇元組數(shù)最少的表作為基礎(chǔ)表。例如s表有1000條數(shù)據(jù),c表有10條數(shù)據(jù)。語(yǔ)句select*from s,c(選擇c為基礎(chǔ)表)比語(yǔ)句select*from c,s(選擇s為基礎(chǔ)表)更高效。

        如果有3個(gè)以上的表連接查詢,那就需要選擇交叉表作為基礎(chǔ)表,交叉表是指那個(gè)被其他表所引用的表。例如sc表的sno和cno列分別在s表和c表中出現(xiàn),sc表是s表和c表的交叉表。因此SQL語(yǔ)句

        SELECT*FROM S,C,SNO

        WHERE SC.CNO=C.CNOAND SC.SNO=S.SNO

        將比下列語(yǔ)句更高效

        SELECT*FROM SNO,S,C

        WHERE SC.CNO=C.CNOAND SC.SNO=S.SNO

        3.2 注意WHERE子句中的連接順序

        SQL采用自下而上的順序解析WHERE子句,根據(jù)這個(gè)原理,表之間的連接必須寫在其他WHERE條件之前,那些可以過(guò)濾掉最大數(shù)量記錄的條件必須寫在WHERE子句的末尾。如果需要查詢成績(jī)?yōu)?0分以上的學(xué)生信息。

        SQL語(yǔ)句1:SELECT*FROM S,SC WHERE SCORE> 90 AND S.SNO=SC.SNO因?yàn)镾QL自右向左進(jìn)行執(zhí)行,因此查詢語(yǔ)句先將兩張表按照學(xué)號(hào)進(jìn)行連接,然后篩選出符合條件的記錄,表的連接是基于表的笛卡爾運(yùn)算,消耗的時(shí)間會(huì)隨著記錄個(gè)數(shù)的增加很快地增長(zhǎng),因此SQL語(yǔ)句1是低效語(yǔ)句。

        SQL語(yǔ)句2:SELECT*FROM S,SC WHERE S.SNO= SC.SNOAND SCORE>90此連接查詢語(yǔ)句克服了SQL語(yǔ)句1的缺點(diǎn),首先篩選出符合條件的記錄,減少了進(jìn)行聯(lián)接的記錄個(gè)數(shù),然后再執(zhí)行連接查詢,大大提高了查詢效率,是高效語(yǔ)句。

        4 結(jié)論

        本文介紹在數(shù)據(jù)庫(kù)的開(kāi)發(fā)和維護(hù)過(guò)程中,多表連接查詢的優(yōu)化設(shè)計(jì)可以提高系統(tǒng)性能,對(duì)于數(shù)據(jù)量大的數(shù)據(jù)庫(kù)系統(tǒng)更為重要。本文介紹了的幾種優(yōu)化策略,在時(shí)間和空間上提高了系統(tǒng)的性能,在一定程度上提高了查詢效率。

        [1]李丹.SQL Server2005數(shù)據(jù)庫(kù)管理與開(kāi)發(fā)實(shí)用教程[M].北京:機(jī)械工業(yè)出版社,2010.

        [2]吳潔明,周錦.基于Oracle數(shù)據(jù)庫(kù)SQL查詢語(yǔ)句優(yōu)化規(guī)則的研究[J].陜西理工學(xué)院學(xué)報(bào)(自然科學(xué)版),2013(4):34-38.

        Research on the Query Efficiency of SQL Database

        Yao Xi
        (Fujian Medical College,Fuzhou 350101,Fujian)

        This paper introduces the type of connections,the operation steps of connections,and the connection syntax in SQL. It analyzes how to improve the query efficiency based on the multi-table connection,and further explains with the examples of the student database.

        connections;multi-table;optimized query

        TP311.13

        A

        1008-6609(2016)07-0108-02

        姚曦,女,福建福州人,本科,講師,研究方向:計(jì)算機(jī)應(yīng)用技術(shù)。

        猜你喜歡
        運(yùn)算符子句關(guān)系數(shù)據(jù)庫(kù)
        命題邏輯中一類擴(kuò)展子句消去方法
        關(guān)系數(shù)據(jù)庫(kù)在高爐數(shù)據(jù)采集系統(tǒng)中的應(yīng)用
        山東冶金(2022年2期)2022-08-08 01:51:30
        老祖?zhèn)魇诨具\(yùn)算符
        命題邏輯可滿足性問(wèn)題求解器的新型預(yù)處理子句消去方法
        西夏語(yǔ)的副詞子句
        西夏學(xué)(2018年2期)2018-05-15 11:24:42
        命題邏輯的子句集中文字的分類
        基于索引結(jié)構(gòu)的關(guān)系數(shù)據(jù)庫(kù)關(guān)鍵詞檢索
        C++運(yùn)算符重載剖析
        一種基于數(shù)據(jù)圖劃分的關(guān)系數(shù)據(jù)庫(kù)關(guān)鍵詞檢索方法
        表達(dá)式求值及符號(hào)推導(dǎo)
        久久久噜噜噜久久中文福利| av天堂吧手机版在线观看| 日本一区中文字幕在线播放| 日本理论片一区二区三区| 青青草视频在线免费观看91| 国产在线播放一区二区不卡| 国产午夜精品一区二区三区| 91免费永久国产在线观看| 日本五十路熟女在线视频| 丰满人妻中文字幕一区三区| 一本色道久久综合无码人妻| 中文亚洲日韩欧美| 色系免费一区二区三区| 国产亚洲av一线观看| 午夜精品久久久久久久久| 国产无遮挡裸体免费视频| 亚洲V无码一区二区三区四区观看| 日韩亚洲精选一区二区三区| 精人妻无码一区二区三区| 亚洲熟女乱色一区二区三区| 欧洲国产精品无码专区影院| 国产免费成人自拍视频| 日韩少妇内射免费播放18禁裸乳| 欧美精品免费观看二区| 精品人妻免费看一区二区三区| 国产高潮流白浆视频在线观看| 精品无码国产一区二区三区av| 国产激情电影综合在线看| 亚洲一区二区三区成人在线| 国产亚洲精品一区二区在线观看| 国产a级三级三级三级| 又污又黄又无遮挡的网站| 成人国产在线播放自拍| 国产在线视频91九色| 国产乱妇无乱码大黄aa片 | 国产一级r片内射免费视频| 好看的日韩精品视频在线| 日本中文字幕一区二区高清在线| 国产av成人精品播放| 日本高清成人一区二区三区 | 久久精品国产亚洲av香蕉|