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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

开发DBA(APPLICATION DBA)的重要性

發(fā)布時間:2024/4/17 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 开发DBA(APPLICATION DBA)的重要性 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.


開發(fā)DBA是干什么的?

1. 審核開發(fā)人員寫的SQL,并且糾正存在性能問題的SQL ---非常重要

2. 編寫復(fù)雜業(yè)務(wù)邏輯SQL,因?yàn)閺?fù)雜業(yè)務(wù)邏輯SQL開發(fā)人員寫出的SQL基本上都是有性能問題的,與其讓開發(fā)人員寫,不如DBA自己寫。---非常重要

3. 參與DB 設(shè)計(jì),盡早糾正不合理的DB 設(shè)計(jì),ORACLE的性能是設(shè)計(jì)出來的,而不是調(diào)出來滴 ---這塊非常重要

4. 對ORACLE進(jìn)行基本的維護(hù)。

5. 與應(yīng)用架構(gòu)師配合,并且糾正應(yīng)用架構(gòu)師所犯錯誤,其實(shí)開發(fā)DBA 也帶有應(yīng)用架構(gòu)師的角色

6. 對整個數(shù)據(jù)庫進(jìn)行高效的設(shè)計(jì)與規(guī)劃,這個工作不能交給運(yùn)維DBA, 因?yàn)檫\(yùn)維不了解業(yè)務(wù)。

?

無法想象,沒有開發(fā)DBA的公司,設(shè)計(jì)出來的系統(tǒng)性能不知道有多爛。

?

舉個小例子

?

最近遇到個SQL 跑的很慢,第一次12秒出結(jié)果(從磁盤讀入內(nèi)存),第二次2秒出結(jié)果(數(shù)據(jù)都在buffer cache里面),SQL代碼如下

?

SELECT COUNT(0) FROM P LEFT JOIN R ON P.ID = R.ID;


P 有200W 數(shù)據(jù) R 有 100W 數(shù)據(jù)。這個SQL 第一次跑12秒,肯定無法接受。 那么大家看看這個SQL如何優(yōu)化?

?

其實(shí)這個SQL寫得有問題, 這里是外連接,并且求COUNT(*) 還有,JOIN字段是ID,ID 一般都是主鍵,那么這個SQL完全可以改寫 為

?

SELECT COUNT(0) FROM P;

?

改寫之后 COUNT(*) 直接讀取 P表主鍵,0.1秒--1秒出結(jié)果,當(dāng)然了,請注意,如果R表ID不是主鍵,并且R表ID 有重復(fù)值,COUNT(*) 會變大 ,不能這么改寫

?

最初的SQL寫得確實(shí)有問題,但是我們不能怪開發(fā),因?yàn)閯e人畢竟對SQL理解不是那么專業(yè),所以必須要有開發(fā)DBA把關(guān)。

大家可以想象一下,要是沒開發(fā)DBA,當(dāng)P表以及R表數(shù)據(jù)量增長到千萬級/億級,那得多慢啊。

?

僅以這個小例子,說明開發(fā)DBA的重要性,最近做了很多優(yōu)化,基本上線上所有SQL都控制在1秒內(nèi)返回結(jié)果。

?


?

?

?

轉(zhuǎn)載于:https://www.cnblogs.com/hehe520/archive/2013/06/08/6330540.html

總結(jié)

以上是生活随笔為你收集整理的开发DBA(APPLICATION DBA)的重要性的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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