{eval=Array;=+count(Array);}

亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

問(wèn)答專(zhuān)欄Q & A COLUMN

Oracle數(shù)據(jù)庫(kù)運(yùn)行越來(lái)越慢,應(yīng)該怎么優(yōu)化一下?

bladefurybladefury 回答0 收藏1
問(wèn)題描述:怎么對(duì)Oracle數(shù)據(jù)庫(kù)進(jìn)行優(yōu)化,提升運(yùn)行速度?
收藏問(wèn)題

3條回答

Pluser

Pluser

回答于2022-06-28 15:18

我根據(jù)所維護(hù)的Oracle 項(xiàng)目經(jīng)驗(yàn)來(lái)回答這個(gè)問(wèn)題,希望能夠幫助到題主及有需要的朋友。

Oracle 運(yùn)行越來(lái)越慢,是有多種原因,我從由易到難的思路,介紹一下我們實(shí)際運(yùn)用的方法分享給大家:


一、Oracle 數(shù)據(jù)庫(kù)層自身的優(yōu)化

1. 表的優(yōu)化。表是Oracle中存放數(shù)據(jù)的最終載體,表的優(yōu)化是核心。 隨時(shí)業(yè)務(wù)系統(tǒng)使用時(shí)間越長(zhǎng),表中的數(shù)據(jù)就越多,表的優(yōu)化會(huì)起到立竿見(jiàn)影的效果。

(1) 表的高水位問(wèn)題。

表中的數(shù)據(jù),因較多的 delete 操作,會(huì)產(chǎn)生高水位,此時(shí)當(dāng)發(fā)生全表讀的操作,將會(huì)額外消耗資源,從而造成業(yè)務(wù)人員直接感覺(jué)到系統(tǒng)使用慢。

補(bǔ)救的辦法是:回收高水位。

(2) 表的統(tǒng)計(jì)信息過(guò)舊或者不準(zhǔn)確

   統(tǒng)計(jì)信息不準(zhǔn)確,會(huì)引起執(zhí)行計(jì)劃出錯(cuò),造成業(yè)務(wù)系統(tǒng)越來(lái)越慢。 表的統(tǒng)計(jì)信息就相當(dāng)于人的基本情況,當(dāng)基本情況都不準(zhǔn)確時(shí),如何能夠保證正確的執(zhí)行呢。

補(bǔ)救的辦法是:收集表的統(tǒng)計(jì)信息。

(3) 未實(shí)施表分區(qū)技術(shù)

化整為零的思想。 某些表,根據(jù)業(yè)務(wù)的實(shí)際需要,未做表分區(qū)。 比如會(huì)經(jīng)常用按年月來(lái)查詢(xún)表中某月的數(shù)據(jù),如果表中的數(shù)據(jù)量非常大,比如超100萬(wàn)條,就可以按月進(jìn)行分區(qū),讓按月的查詢(xún),只需要讀取所需要月份的分區(qū)表。

補(bǔ)救的辦法是: 對(duì)表實(shí)行化整為零,轉(zhuǎn)為分區(qū)表


2. 索引的優(yōu)化

(1) 差索引

數(shù)據(jù)庫(kù)運(yùn)行慢,很多的情況是查詢(xún)語(yǔ)句中引用的列,差索引。索引是提升速度非常重要的手段。

補(bǔ)救的辦法是: 分析SQL 語(yǔ)句,對(duì)缺失的索引進(jìn)行創(chuàng)建。

(2) 索引的統(tǒng)計(jì)信息不準(zhǔn)

索引的統(tǒng)計(jì)信息與表的信息信息思想是一樣的, 只有統(tǒng)計(jì)信息準(zhǔn)確,SQL 才能夠最大程度的選擇最好的執(zhí)行計(jì)劃,以最短的時(shí)間執(zhí)行完所需要的業(yè)務(wù)SQL。

補(bǔ)救的辦法是:收集索引的統(tǒng)計(jì)信息。

3. SQL 語(yǔ)句的優(yōu)化

數(shù)據(jù)庫(kù)慢,很多情況是因?yàn)镾QL寫(xiě)法不對(duì),造成執(zhí)行時(shí)間長(zhǎng),消耗了過(guò)多的資源。 因此優(yōu)化SQL 是非常重要的方式之一。

補(bǔ)救的辦法是:收集Oracle 數(shù)據(jù)庫(kù)的 AWR, ADDM, ASH 等性能報(bào)告,找出執(zhí)行時(shí)間長(zhǎng)、消耗資源多的SQL 語(yǔ)句進(jìn)行優(yōu)化。


4. Oracle 數(shù)據(jù)庫(kù)的參數(shù)優(yōu)化

數(shù)據(jù)庫(kù)想要運(yùn)行速度快,對(duì)Oracle的運(yùn)行參數(shù)進(jìn)行優(yōu)化是重要的手段和方法,比如大家所熟悉的 SGA、PGA、DB_Cache_Size 、Process 等參數(shù)進(jìn)行分析、優(yōu)化。



二、 操作系統(tǒng)不建議用 WIndows

Oracle 數(shù)據(jù)庫(kù)的運(yùn)行也是要挑系統(tǒng)平臺(tái)的,一般的中、小企業(yè),推薦的是使用 Linux ,從每次Oracle新版本的發(fā)行就知道,首先推出的是Linux平臺(tái),然后是 Unix平臺(tái),最后才是Windows平臺(tái)。


三、 升級(jí) Oracle 數(shù)據(jù)庫(kù)硬件

如經(jīng)過(guò)前面 2 個(gè)大項(xiàng)的優(yōu)化,仍然不能提升Oracle 數(shù)據(jù)庫(kù)的運(yùn)行速度,則可能是因?yàn)楝F(xiàn)有的硬件不能滿足當(dāng)前的業(yè)務(wù)需求,必須采取升級(jí) Oracle 數(shù)據(jù)庫(kù)服務(wù)器的硬件資源比如:升級(jí)CPU、內(nèi)存、磁盤(pán)(特別是提升 磁盤(pán) I/O 速度),來(lái)提升Oracle數(shù)據(jù)庫(kù)的運(yùn)行速度。


以上方法和思路,是我們實(shí)際項(xiàng)目中遇到并運(yùn)用的方法和手段,歡迎大家交流。

評(píng)論0 贊同0
  •  加載中...
CHENGKANG

CHENGKANG

回答于2022-06-28 15:18

隨著業(yè)務(wù)數(shù)據(jù)的增長(zhǎng),以及新業(yè)務(wù)的推出,很多企業(yè)都面臨著系統(tǒng)性能的問(wèn)題,并且日益凸顯。似乎用盡了所有招數(shù),但性能就是不見(jiàn)改善,問(wèn)題到底出在哪里?

遇到如此問(wèn)題,我們一般怎么做呢?是不是都有過(guò)下面的體會(huì)?

不差錢(qián)人的做法:

升級(jí)cpu、擴(kuò)內(nèi)存、換固態(tài)盤(pán)存儲(chǔ),只能說(shuō)一開(kāi)始很管用,慢慢地老問(wèn)題又出現(xiàn)了。

老實(shí)人做法:

新上線了業(yè)務(wù)系統(tǒng)性能不佳,怎么辦呢?我們來(lái)玩打游擊。把一些不重要的業(yè)務(wù)放在晚上運(yùn)行,調(diào)整新業(yè)務(wù)的功能模塊,或者暫時(shí)不做數(shù)據(jù)同步等

扯皮做法:

看看網(wǎng)絡(luò)有沒(méi)有問(wèn)題呢,有的話就改;是不是存儲(chǔ)的問(wèn)題呢,有問(wèn)題就換;運(yùn)維人員有沒(méi)有問(wèn)題呢,服務(wù)商也隨意招;但要誰(shuí)來(lái)承擔(dān)責(zé)任呢,每次遇到嚴(yán)重的故障,是不是時(shí)間用來(lái)扯皮較多?

現(xiàn)實(shí)中,很多運(yùn)維人員都很拼命地在保障系統(tǒng)高效運(yùn)行,但根據(jù)相關(guān)統(tǒng)計(jì),80%的系統(tǒng)性能問(wèn)題來(lái)自SQL方面的問(wèn)題。所以,在基本保證網(wǎng)絡(luò)(跟平時(shí)比,跟同時(shí)段其他業(yè)務(wù)比)、服務(wù)器(CPU、內(nèi)存使用率)、存儲(chǔ)(IO等待)等資源都問(wèn)題不大的情況下,可以通過(guò)查看Oracle對(duì)應(yīng)時(shí)段的AWR、ASH、ADDM來(lái)尋找同時(shí)段運(yùn)行較慢的SQL。有針對(duì)性的去優(yōu)化。

而SQL優(yōu)化中最基本的做法就是建立索引(這個(gè)需要根據(jù)SQL執(zhí)行計(jì)劃去建立合適的索引)、SQL改寫(xiě)、HINT提示等等

性能優(yōu)化是一個(gè)比較復(fù)雜的系統(tǒng)工程,以上僅是提示點(diǎn)思路吧,具體還需要根據(jù)系統(tǒng)的實(shí)際情況多做練習(xí),然后再觀察。優(yōu)化是一個(gè)循序漸進(jìn)的過(guò)程,就像我們?nèi)松∫粯?,先吃藥治病,然后再去醫(yī)院復(fù)查,看看是否已經(jīng)治愈一個(gè)道理。

希望以上對(duì)題主有所幫助,也歡迎其他大牛提出更好的思路,幫助題主。

評(píng)論0 贊同0
  •  加載中...
stormzhang

stormzhang

回答于2022-06-28 15:18

你先生成你運(yùn)行慢那一時(shí)間段的性能報(bào)告,然后通過(guò)里邊的指數(shù)看是你的硬件問(wèn)題還是你的語(yǔ)句的問(wèn)題,SGA區(qū)小的話加SGA區(qū),接著再分析你的語(yǔ)句,看是不是你這個(gè)語(yǔ)句的計(jì)劃任務(wù)是怎么走的,是否沒(méi)走索引走了全表掃描!以上就是我的觀點(diǎn)

評(píng)論0 贊同0
  •  加載中...

最新活動(dòng)

您已邀請(qǐng)0人回答 查看邀請(qǐng)

我的邀請(qǐng)列表

  • 擅長(zhǎng)該話題
  • 回答過(guò)該話題
  • 我關(guān)注的人
向幫助了您的網(wǎng)友說(shuō)句感謝的話吧!
付費(fèi)偷看金額在0.1-10元之間
<