国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

mysql數據庫的性能優化分析

2024-07-24 12:39:06
字體:
來源:轉載
供稿:網友

影響數據庫性能的根源:

1,磁盤I/O讀取,2,CPU使用率,3,資源競爭

優化的方式:

1,設計優化,2,操作優化,3,使用其他優化技術

1)設計優化:

分類拆分數據量大的表,選取最適用的字段屬性,索引設計,為經常查詢用到的字段建立索引,避免查詢時查找其他重復無用的數據,避免了大范圍掃描.

2)操作優化:

鎖表操作,盡量避免子查詢,將子查詢轉化成連接查詢;

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

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

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

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

以下三條sql語句的效果是等效的,代碼如下:

  1. SELECT * FROM `logs` WHERE id = 1 or id = 2 or id = 3 
  2.  
  3. SELECT * FROM `logs` WHERE id between 1 and 3 
  4. --Vevb.com 
  5. SELECT * FROM `logs` WHERE id in (1,2,3) 

經過測試性能也是差不多,如果id是一個大數組那么最后一條書寫會簡單很多,可以利用 WHERE后面的條件順序影響,應該先把范圍小的條件放前面,在小范圍里面按接下來的條件查找.

3)其他優化技術

使用數據緩存技術,如memcached;

使用靜態存儲,對一些更新不頻繁但經常調用的數據采用靜態文本的存儲方式.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 花莲市| 邳州市| 和林格尔县| 惠来县| 凭祥市| 栖霞市| 老河口市| 高台县| 大埔区| 铜陵市| 拜泉县| 利津县| 察隅县| 滁州市| 宝鸡市| 贵州省| 弥勒县| 泰宁县| 马公市| 商水县| 论坛| 嘉兴市| 武胜县| 清河县| 密山市| 石渠县| 定南县| 巴彦县| 林芝县| 太康县| 都兰县| 萝北县| 五常市| 巴林左旗| 德保县| 西丰县| 三门峡市| 启东市| 乡宁县| 大石桥市| 浦县|