資料庫操作優化如何入手?

時間 2021-05-05 23:14:46

1樓:ccxxiii

資料庫效能優化:系統CPU,記憶體,磁碟儲存,系統引數,以oracle為例,資料庫SGA,PGA,Process,cursor,session等引數設定優化。對於資料庫SQL優化,首先要規範sql寫法,索引建立,資料生命週期管理等。

何以解憂,唯有讀書和實踐。總結幾點:1.

善用explain,看看自己寫的sql到底要涉及到多少表,多少行,使用了那些索引,根據這些資訊適當的建立索引,適當建立索引,在頻繁作為檢索條件,更新較少的字段上建立索引,以提高查詢速度。;2.善用不同的儲存引擎,MySQL有多種不同的儲存引擎,InnoDB,Aria,MEMORY根據需要給不同的表選擇不同的儲存引擎,比如要支援transaction的話用InnoDB等;3.

表很大的時候,做分片,分表查詢,有水平分割、垂直分割。4.讀寫分離,讀(read)、寫(create、update、delete)。

5.建立儲存過程。6.

表的設計要規範,即要符合資料庫設計三正規化。針對mysql的效能優化:1:

首先應該優化你的SQL語句。開啟慢查詢,通過慢查詢日誌發現有問題的SQL語句,通過explain查詢分析SQL的執行計畫;針對limit、groupby優化2:索引優化。

選擇合適的列建立索引,一般在where從句,on從句等;維護索引,去掉重複索引 ,如 primary key 不要在加上唯一索引了;3:資料庫的優化。選擇合適的資料型別,正規化優化和反正規化優化(已空間換時間),垂直切分和水平切分,水平切分我基本沒用到,考驗技術水平4:

然後就是系統配置和硬體優化,硬體優化當然就是錢啦。最好是在乙個盡可能小的表上做乙個盡可能簡單的操作讀取盡可能少的結果。

2樓:ZhangIven

1: 對涉及表索引的優化,可以佔40%

2:對sql語句的優化,也可以佔40%

3:對server和database 的優化設定各佔10%

3樓:戴維

推薦兩本圖書,個人覺得很不錯:

1、SQL語言藝術-StephaneFaroult& Peter Robson著,溫昱靳向陽譯--電子工業出版社--9-787121-058349

2、Microsoft SQL Server 效能調校--胡百敬著--電子工業出版社--9-787121-004384

胡百敬:

台灣恆逸資訊資深講師

微軟專業顧問

台灣《聯合報》中文系統技術顧問

擁有多年系統分析、設計與實踐經驗,參與過許多大型專案開發擁有長期的授課經驗

執有MCT、MCAD、MCSD證書

4樓:胡琛輝

資料庫最核心操作是什麼?

假定是一般的關係型資料庫,最重要的當然是 DCL,DDL,DQL,DML呀 DCL 許可權管理 DDL 庫表結構管理 DQL 查詢 DML 資料修改。 lemon wonder 簡單的一條insert插入操作,就涉及到方方面面,是否有insert許可權,要滿足ACID原則,插入的資料是否涉及到隱式型...

php 資料庫操作類 快取 日誌?

有關PHP的快取部分的內容,可以直接使用thinkphp中的預設模組就可以,方便。此外,有關快取是這樣的 普遍快取技術 大多也和資料庫結合在一起 舉個常用的方法,多表關聯的時候,把附表中的內容生成陣列儲存到主表的乙個欄位中,需要的時候陣列分解一下,這樣的好處是唯讀乙個表,壞處就是兩個資料同步會多不少...

SQL Server 資料庫誤操作怎麼辦?

石痕 今天,2019年正月十五,下午4點多,我也是update忘了加where,導致1400多條資料受影響,還好整個庫資料不多。先把昨天資料恢復到新建資料庫,在新建資料庫匯出受影響的表列資料,再把匯出資料恢復到資料庫。影響只有一天,20多條,手動改。當時也快嚇死了,哈哈。不過小單位,真的搞不定最多影...