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

歡迎訪問 生活随笔!

生活随笔

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

数据库

数据库性能分析mysql_mysql数据库的性能优化分析

發(fā)布時間:2024/9/27 数据库 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据库性能分析mysql_mysql数据库的性能优化分析 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

影響數(shù)據(jù)庫性能的根源:

1,磁盤I/O讀取

2,CPU使用率

3,資源競爭

優(yōu)化的方式:

1,設(shè)計優(yōu)化

2,操作優(yōu)化

3,使用其他優(yōu)化技術(shù)

1)設(shè)計優(yōu)化:

分類拆分?jǐn)?shù)據(jù)量大的表;

選取最適用的字段屬性;

索引設(shè)計,為經(jīng)常查詢用到的字段建立索引,避免查詢時查找其他重復(fù)無用的數(shù)據(jù),避免了大范圍掃描;

2)操作優(yōu)化:

鎖表操作;

盡量避免子查詢,將子查詢轉(zhuǎn)化成連接查詢;

where子句查詢條件盡量少使用運算操作;

A>2與A>=3的效果有很大的區(qū)別了,因為A>2時數(shù)據(jù)庫會先找出為2的記錄索引再進行比較,而A>=3時ORACLE則直接找到=3的記錄索引;

a is not null 改為 a>0 或a>''等,判斷字段是否為空一般是不會應(yīng)用索引的;

a<>0 改為 a>0 or a<0 ,不等于操作符是永遠不會用到索引的,因此對它的處理只會產(chǎn)生全表掃描;??? YY_BH LIKE '%5400%' 這個條件會產(chǎn)生全表掃描,如果改成YY_BH LIKE 'X5400%' OR YY_BH LIKE 'B5400%' 則會利用YY_BH的索引進行兩個范圍的查詢,性能肯定大大提高;

以下三條sql語句的效果是等效的:

代碼如下

復(fù)制代碼

SELECT * FROM `logs` WHERE id = 1 or id = 2 or id = 3

SELECT * FROM `logs` WHERE id between 1 and 3

SELECT * FROM `logs` WHERE id in (1,2,3)

經(jīng)過測試性能也是差不多,如果id是一個大數(shù)組那么最后一條書寫會簡單很多,可以利用

WHERE后面的條件順序影響 ,應(yīng)該先把范圍小的條件放前面,在小范圍里面按接下來的條件查找;

3)其他優(yōu)化技術(shù)

使用數(shù)據(jù)緩存技術(shù),如memcached;

使用靜態(tài)存儲,對一些更新不頻繁但經(jīng)常調(diào)用的數(shù)據(jù)采用靜態(tài)文本的存儲方式;

總結(jié)

以上是生活随笔為你收集整理的数据库性能分析mysql_mysql数据库的性能优化分析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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