1. 程式人生 > 其它 >mysql-效能優化(sql執行計劃explain)

mysql-效能優化(sql執行計劃explain)

影響mysql效能的因素

1、商業需求對效能的影響就是有時候可以去避免的,但是在設計的時候沒有考慮到。:統計發帖子總量,要求實時更新

可以隔一段時間更新一次,不實時更新,這樣效能提升很多。

2、存放圖片和視訊放到資料庫中去還是放到磁碟上去?

正常如在orcle資料庫中可以設定個大資料型別就是block型別Orcle資料中表存放資料沒限制受制硬碟空間大小。

3、是否開啟cache:如果資料更新的很頻繁,開啟cache意義就不大了。

做效能測試個預熱測試應該考慮快取,做效能測試之前先跑一段時間,做個預熱,目的就是為了把磁碟中的快取儘可能加滿。

4、的設計、硬體(磁碟io

會對效能造成影響。

5、鎖 鎖就會有阻塞。任何資料庫都有鎖

死鎖發生的時候資料庫會自動去處理掉的。他會記錄下來

6、mysql資料庫query的優化

開發同步給出sql的執行計劃,就是自測的時候給出

查詢,如規定超過1s的都屬於慢查詢。

Sql非常容易出現問題

多索引如果索引只要插入一條資料,索引就要重新來所以建了索引會影響增刪改的效能Where後面跟的欄位,一般會建索引

explan入手:這是一個執行計劃的命令

連上MySQL分析這個sql的執行計劃,如下圖explain select * from t1;

可以下面這樣,讓他立著顯示。就是一個執行計劃

下面做一件事,建兩表,分別插入記錄,通過id號做一下關聯。然後看下他的執行計劃。

進入mysql

create database db01;

drop database db01;

發現一個sql有問題的時候,可以定一個優化目標,比如消耗資源多少可接受範圍之內等,目標定完後,就可以入手去分析了。比如說,從Explain入手

ID越大越先被執行到