自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

數(shù)據(jù)庫性能優(yōu)化12條規(guī)則

數(shù)據(jù)庫
數(shù)據(jù)庫經(jīng)過了多年的發(fā)展,一步步壯大起來,性能較以前也是有了翻天覆地的變化,下文中將為大家介紹數(shù)據(jù)庫性能優(yōu)化的12條規(guī)則。

導讀:對于web應用開發(fā),多數(shù)性能瓶頸均出現(xiàn)在數(shù)據(jù)庫上,除了采用分布式架構或云處理(大公司基本上都是),更重要的是平時程序設計時要遵照一些規(guī)則,從根本上提高系統(tǒng)的數(shù)據(jù)庫性能,以下總結了一些常用的規(guī)則方法,

  1、 把數(shù)據(jù)、日志、索引放到不同的I/O設備上,增加讀取速度。數(shù)據(jù)量(尺寸)越大,提高I/O越重要。

  2、 縱向、橫向分割表,減少表的尺寸,如:可以把大數(shù)據(jù)量的字段拆分表。

  3、 根據(jù)查詢條件,建立索引,優(yōu)化索引、優(yōu)化訪問方式,限制結果集的數(shù)據(jù)量。注意填充因子要適當(***是使用默認值0)。索引應該盡量小,盡量使用字節(jié)數(shù)小的列建索引,不要對有限的幾個值的列建單一索引。

  4、 用OR的字句可以分解成多個查詢,并且通過UNION鏈接多個查詢。它們的速度只與是否使用索引有關,如果查詢需要用到聯(lián)合索引,用UNION all執(zhí)行的效率更高。

  5、 在查詢SELECT語句中用WHERE子句限制返回的行數(shù),避免表掃描。如果返回不必要的數(shù)據(jù),則浪費了服務器的I/O資源,加重了網(wǎng)絡的負擔,降低了性能。如果表很大,在表掃描期間將表鎖住,禁止其他的聯(lián)結訪問表,后果很嚴重。

  6、 注意使用DISTINCT,在沒有必要時不要用,它同UNION一樣會使查詢變慢。

  7、 在IN后面值的列表中,將出現(xiàn)最頻繁的值放在最前面,出現(xiàn)最少的放在***面,減少判斷的次數(shù)。

  8、 一般在GROUP BY和HAVING子句之前就能剔除多余的行,所以盡量不要用它們來做剔除行的工作,也就是說盡可能在WHERE中過濾數(shù)據(jù)。

  9、 盡量將數(shù)據(jù)的處理工作放在服務器上,減少網(wǎng)絡的開銷,如使用存儲過程。存儲過程是編譯、優(yōu)化過,并且被組織到一個執(zhí)行規(guī)劃里,且存儲在數(shù)據(jù)庫中的SQL語句(存儲過程是數(shù)據(jù)庫服務器端的一段程序),是控制流語言的集合,速度當然快。

  10、 不要在一句話里再三地使用相同的函數(shù),浪費資源,將結果放在變量里再調用更快。

  11、 針對大量只讀查詢操作進行優(yōu)化的方法:

  1) 數(shù)據(jù)量小的數(shù)據(jù),可以考慮不存儲在數(shù)據(jù)庫中,而是通過程序常量的方式解決。

  2) 需要存儲在數(shù)據(jù)庫中的數(shù)據(jù),可以考慮采用物化視圖(索引視圖)。當DBA在視圖上創(chuàng)建索引時,這個視圖就被物化(執(zhí)行)了,并且結果集被***地保存在唯一索引中,保存方式與一個有聚簇索引的表的保存方式相同。物化視圖減除了為引用視圖的查詢動態(tài)建立結果集的開銷,優(yōu)化人員可以在查詢中使用視圖索引,而不需要在FROM子句中直接指定視圖。

  3) 數(shù)據(jù)存儲時可以考慮適當?shù)臄?shù)據(jù)冗余,以減少數(shù)據(jù)庫表之間的鏈接操作,提高查詢效率。

  4) 針對數(shù)據(jù)的特點,采取特定的索引類型。例如,位圖索引等。

  12、 對于SQL語句書寫時的一些建議:

  1) 寫語句時能夠確定數(shù)據(jù)庫對象所有者的,盡可能把所有者帶上,如:

SELECT * FROM dbo.Users

 

  2) 存儲過程中,參數(shù)定義***放在最前面,盡可能一次定義,如:

DECLARE @USER_ID INT

,@USER_NAME VARCHAR(50)

,@PASSWORD VARCHAR(50)

 

  3) 為參數(shù)賦值時,盡可能一次賦值,如:

SELECT @USER_ID = 1001

,@USER_NAME = 'xiaojun.liu'

 

  4) 盡量少用游標
 

上文中介紹的可能不是很全面,這還需要大家在以后的工作中總結出更多的經(jīng)驗,然后拿出來與大家一起分享,本文僅供大家參考,希望對大家能夠有所幫助。

【編輯推薦】

  1. DB2數(shù)據(jù)庫性能優(yōu)化的幾個小技巧
  2. 關系型數(shù)據(jù)庫性能優(yōu)化總結
  3. Oracle 數(shù)據(jù)庫性能優(yōu)化都有那些
  4. MySQL數(shù)據(jù)庫性能優(yōu)化的關鍵參數(shù)
責任編輯:迎迎 來源: IT168
相關推薦

2019-09-30 08:00:00

圖數(shù)據(jù)庫數(shù)據(jù)庫

2011-08-29 16:05:07

高性能SQL語句SQL Server

2019-07-09 13:42:12

數(shù)據(jù)備份云計算系統(tǒng)

2020-07-29 07:52:25

編程開發(fā)IT

2023-09-01 10:43:22

IT外包企業(yè)

2025-04-27 08:06:50

2011-05-16 13:44:11

C++

2013-09-17 10:32:08

Android性能優(yōu)化數(shù)據(jù)庫

2011-03-31 09:22:56

c++

2021-01-31 17:50:41

數(shù)據(jù)庫查詢程序員

2011-05-20 10:30:20

ORACLE數(shù)據(jù)庫性能優(yōu)化

2011-05-18 09:39:19

Oracle數(shù)據(jù)庫性能優(yōu)化

2023-07-12 08:55:16

PawSQL數(shù)據(jù)庫

2010-05-10 15:50:39

Oracle數(shù)據(jù)庫性能

2018-03-30 14:30:10

數(shù)據(jù)庫SQL語句性能優(yōu)化

2010-12-10 10:17:21

關系型數(shù)據(jù)庫

2016-10-28 13:21:36

2018-03-30 13:59:22

數(shù)據(jù)庫SQL語句性能優(yōu)化

2010-04-09 15:08:17

Oracle 數(shù)據(jù)庫性

2015-12-31 10:00:41

Java日志記錄規(guī)則
點贊
收藏

51CTO技術棧公眾號