国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 數(shù)據(jù)庫(kù) > Oracle > 正文

oracle數(shù)據(jù)庫(kù)優(yōu)化

2024-08-29 13:44:35
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

  
優(yōu)化就是選擇最有效的方法來(lái)執(zhí)行SQL語(yǔ)句。Oracle優(yōu)化器選擇它認(rèn)為最有效的

方法來(lái)執(zhí)行SQL語(yǔ)句。

 

1).      IS NULL和IS NOT NULL

假如某列存在NULL值,即使對(duì)該列建立索引也不會(huì)提高性能。

2).      為不同的工作編寫不同的SQL語(yǔ)句塊

為完成不同的工作編寫一大塊SQL程序不是好方法。它往往導(dǎo)致每個(gè)任務(wù)的結(jié)果不優(yōu)

化。若要SQL完成不同的工作,一般應(yīng)編寫不同的語(yǔ)句塊比編寫一個(gè)要好。

3).      IN 和EXISTS

Select name from employee where name not in (select name from student);

Select name from employee where not exists (select name from student);

第一句SQL語(yǔ)句的執(zhí)行效率不如第二句。

通過(guò)使用EXISTS,Oracle會(huì)首先檢查主查詢,然后運(yùn)行子查詢直到它找到第一個(gè)匹配

項(xiàng),這就節(jié)省了時(shí)間。Oracle在執(zhí)行IN子查詢時(shí),首先執(zhí)行子查詢,并將獲得的結(jié)果

列表存放在一個(gè)加了索引的臨時(shí)表中。在執(zhí)行子查詢之前,系統(tǒng)先將主查詢掛起,待

子查詢執(zhí)行完畢,存放在臨時(shí)表中以后再執(zhí)行主查詢。這也就是使用EXISTS比使用IN

通常查詢速度快的原因。

4).      NOT 運(yùn)算符

Select * from employee where salary<>1000;

Select * from employee where salary<1000 or salary>1000;

第一句SQL語(yǔ)句的執(zhí)行效率不如第二句,因?yàn)榈诙銼QL語(yǔ)句可以使用索引。

5).      Order By 語(yǔ)句

Order By 語(yǔ)句的執(zhí)行效率很低,因?yàn)樗判颉?yīng)避免在Order By 字句中使用表達(dá)式。

6).      列的連接

select * from employee where namedepartment=’ZYZBIOINFO’;

select * from employee where name=’ZYZ’ and department=’BIOINFO’;

這兩個(gè)查詢,第二句比第一句會(huì)快,因?yàn)閷?duì)于有連接運(yùn)算符’’的查詢,Oracle優(yōu)化器是不

會(huì)使用索引的。

7).      通配符‘%’當(dāng)通配符出現(xiàn)在搜索詞首時(shí),Oracle優(yōu)化器不使用索引

Select * from employee where name like ‘%Z%’;

Select * from employee where name like ‘Z%’;

第二句的執(zhí)行效率會(huì)比第一句快,但查詢結(jié)果集可能會(huì)不同。

8).      應(yīng)盡量避免混合類型的表達(dá)式

假設(shè)字段studentno為VARCHAR2類型

有語(yǔ)句select * from student where studentno>123;

則Oracle會(huì)有一個(gè)隱含的類型轉(zhuǎn)換。隱含的類型轉(zhuǎn)換可能會(huì)使Oracle優(yōu)化器忽略索引。

這時(shí)應(yīng)使用顯式的類型轉(zhuǎn)換select * from student where studentno=to_char(123)。

9).DISTINCT
   DISTINCT總是建立一個(gè)排序,所以查詢速度也慢。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 昭苏县| 夹江县| 松滋市| 青岛市| 措勤县| 嘉义县| 阳东县| 五大连池市| 湖南省| 绩溪县| 崇礼县| 安徽省| 延长县| 五台县| 营口市| 庆安县| 防城港市| 昌吉市| 太和县| 财经| 延长县| 新丰县| 遂平县| 宁津县| 故城县| 固始县| 章丘市| 同心县| 南靖县| 美姑县| 太谷县| 芜湖县| 瑞安市| 洪江市| 三穗县| 遵义市| 扎赉特旗| 黄平县| 佛教| 鄂托克旗| 开化县|