日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

linux mysql 性能提高,高手心得:提高MySQL性能的方法

發(fā)布時(shí)間:2025/3/12 数据库 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux mysql 性能提高,高手心得:提高MySQL性能的方法 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

lgms2008 于 2006-09-20 00:18:05發(fā)表:

5. NOT

我們?cè)诓樵儠r(shí)經(jīng)常在where子句使用一些邏輯表達(dá)式,如大于、小于、等于以及不等于等等,也可以使用and(與)、or(或)以及not(非)。NOT可用來(lái)對(duì)任何邏輯運(yùn)算符號(hào)取反。下面是一個(gè)NOT子句的例子:

... where not (status ='VALID')

如果要使用NOT,則應(yīng)在取反的短語(yǔ)前面加上括號(hào),并在短語(yǔ)前面加上NOT運(yùn)算符。NOT運(yùn)算符包含在另外一個(gè)邏輯運(yùn)算符中,這就是不等于(<>;)運(yùn)算符。換句話說(shuō),即使不在查詢where子句中顯式地加入NOT詞,NOT仍在運(yùn)算符中,見(jiàn)下例:

... where status <>;'INVALID'

再看下面這個(gè)例子:

select * from employee where salary<>;3000;

對(duì)這個(gè)查詢,可以改寫為不使用NOT:

select * from employee where salary<3000 or salary>;3000;

雖然這兩種查詢的結(jié)果一樣,但是第二種查詢方案會(huì)比第一種查詢方案更快些。第二種查詢?cè)试SOracle對(duì)salary列使用索引,而第一種查詢則不能使用索引。

6. IN和EXISTS

有時(shí)候會(huì)將一列和一系列值相比較。最簡(jiǎn)單的辦法就是在where子句中使用子查詢。在where子句中可以使用兩種格式的子查詢。

第一種格式是使用IN操作符:

... where column in(select * from ... where ...);

第二種格式是使用EXIST操作符:

... where exists (select 'X' from ...where ...);

我相信絕大多數(shù)人會(huì)使用第一種格式,因?yàn)樗容^容易編寫,而實(shí)際上第二種格式要遠(yuǎn)比第一種格式的效率高。在Oracle中可以幾乎將所有的IN操作符子查詢改寫為使用EXISTS的子查詢。

第二種格式中,子查詢以‘select 'X'開(kāi)始。運(yùn)用EXISTS子句不管子查詢從表中抽取什么數(shù)據(jù)它只查看where子句。這樣優(yōu)化器就不必遍歷整個(gè)表而僅根據(jù)索引就可完成工作(這里假定在where語(yǔ)句中使用的列存在索引)。相對(duì)于IN子句來(lái)說(shuō),EXISTS使用相連子查詢,構(gòu)造起來(lái)要比IN子查詢困難一些。

通過(guò)使用EXIST,Oracle系統(tǒng)會(huì)首先檢查主查詢,然后運(yùn)行子查詢直到它找到第一個(gè)匹配項(xiàng),這就節(jié)省了時(shí)間。Oracle系統(tǒng)在執(zhí)行IN子查詢時(shí),首先執(zhí)行子查詢,并將獲得的結(jié)果列表存放在在一個(gè)加了索引的臨時(shí)表中。在執(zhí)行子查詢之前,系統(tǒng)先將主查詢掛起,待子查詢執(zhí)行完畢,存放在臨時(shí)表中以后再執(zhí)行主查詢。這也就是使用EXISTS比使用IN通常查詢速度快的原因。

同時(shí)應(yīng)盡可能使用NOT EXISTS來(lái)代替NOT IN,盡管二者都使用了NOT(不能使用索引而降低速度),NOT EXISTS要比NOT IN查詢效率更高。

總結(jié)

以上是生活随笔為你收集整理的linux mysql 性能提高,高手心得:提高MySQL性能的方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。