最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mysql占用CPU超過100%的詳細(xì)解決過程

 更新時間:2023年10月22日 15:03:56   作者:jimshen  
前段時間我的一個網(wǎng)站經(jīng)常打不開,通過檢查發(fā)現(xiàn)服務(wù)器cpu占用超過100%,通過top命令發(fā)現(xiàn)是mysql占用cpu特別高導(dǎo)致的,下面這篇文章主要給大家介紹了關(guān)于mysql占用CPU超過100%的詳細(xì)解決過程,需要的朋友可以參考下

一、使用top命令看到的情況如下:

可以看到服務(wù)器負(fù)載很高,,mysql CPU使用已達(dá)到接近400%(因為是四核,所以會有超過100%的情況)。

二、在服務(wù)器上執(zhí)行mysql -u root -p之后,輸入show full processlist; 可以看到正在執(zhí)行的語句。

可以看到是下面的SQL語句執(zhí)行耗費了較長時間。

SELECT id,title,most_top,view_count,posttime FROM article 
where status=3 AND catalog_id in (select catalog_id from catalog where catalog_id=17 or parent_id=17)  
order by most_top desc,posttime desc limit 0,8

但是從數(shù)據(jù)庫設(shè)計方面來說,該做的索引都已經(jīng)做了,SQL語句似乎沒有優(yōu)化的空間。
直接執(zhí)行此條SQL,發(fā)現(xiàn)速度很慢,需要1-6秒的時間(跟mysql正在并發(fā)執(zhí)行的查詢有關(guān),如果沒有并發(fā)的,需要1秒多)。如果把排序依據(jù)改為一個,則查詢時間可以縮短至0.01秒(most_top)或者0.001秒(posttime)。

三、修改mysql配置文件中的pool/buffer等數(shù)值,重啟mysql都沒有作用。

四、通過EXPLAIN分析SQL語句

EXPLAIN SELECT id,title,most_top,view_count,posttime FROM article 
where status=3 AND catalog_id in (select catalog_id from catalog where catalog_id=17 or parent_id=17)  
order by most_top desc,posttime desc limit 0,8

可以看到,主select對27928條記錄使用filesort進(jìn)行了排序,這是造成查詢速度慢的原因。然后8個并發(fā)的查詢使CPU專用很高。

五、優(yōu)化

首先是縮減查詢范圍

SELECT id,title,most_top,view_count,posttime FROM article 
where status=3 AND catalog_id in (select catalog_id from catalog where catalog_id=17 or parent_id=17)  and DATEDIFF(NOW(),posttime)<=90
order by most_top desc,posttime desc limit 0,8

發(fā)現(xiàn)有一定效果,但效果不明顯,原因是每條記錄都要做一次DATEDIFF運算。后改為

SELECT id,title,most_top,view_count,posttime FROM article 
where status=3 AND catalog_id in (select catalog_id from catalog where catalog_id=17 or parent_id=17)  and postime>='2017-09-05'
order by most_top desc,posttime desc limit 0,8

查詢速度大幅提高。在PHP中,日期閾值通過計算得到

$d = date("Y-m-d", strtotime('-90 day'));
$sql = "
SELECT id,title,most_top,view_count,posttime FROM article 
where status=3 AND catalog_id in (select catalog_id from catalog where catalog_id=17 or parent_id=17)  and postime>='$d'
order by most_top desc,posttime desc limit 0,8
"

六、效果

查詢時間大幅度縮短,CPU負(fù)載很輕

以上就是mysql占用CPU超過100%的詳細(xì)解決過程的詳細(xì)內(nèi)容,更多關(guān)于mysql占用CPU超過100%的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Mysql中的幾種常見日志小結(jié)

    Mysql中的幾種常見日志小結(jié)

    本文主要介紹了Mysql中的幾種常見日志小結(jié),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-08-08
  • Mysql數(shù)據(jù)庫的增刪改查、備份、還原等基本操作大全

    Mysql數(shù)據(jù)庫的增刪改查、備份、還原等基本操作大全

    這篇文章主要介紹了Mysql數(shù)據(jù)庫的增刪改查、備份、還原等基本操作,本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-06-06
  • mysql 關(guān)鍵詞相關(guān)度排序方法詳細(xì)示例分析

    mysql 關(guān)鍵詞相關(guān)度排序方法詳細(xì)示例分析

    以下是對mysql關(guān)鍵詞相關(guān)度排序方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過來參考下
    2013-08-08
  • Mac 安裝 mysqlclient過程解析

    Mac 安裝 mysqlclient過程解析

    這篇文章主要介紹了Mac 安裝 mysqlclient過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-08-08
  • Centos6.4編譯安裝mysql 8.0.0 詳細(xì)教程

    Centos6.4編譯安裝mysql 8.0.0 詳細(xì)教程

    這篇文章主要為大家分享了Centos6.4編譯安裝mysql 8.0.0 詳細(xì)教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • mysql建立自定義函數(shù)的問題

    mysql建立自定義函數(shù)的問題

    由于這幾天在寫mysql存儲過程且發(fā)現(xiàn)程序體積越來越龐大,于是嘗試使用mysql的函數(shù)
    2011-04-04
  • MySQL過濾數(shù)據(jù)操作方法梳理

    MySQL過濾數(shù)據(jù)操作方法梳理

    數(shù)據(jù)庫表一般包含大量的數(shù)據(jù),很少需要檢索表中的所有行。通常只是根據(jù)特定的需要提取表數(shù)據(jù)的子集。因此檢索所需數(shù)據(jù)時需要指定搜索條件,搜索條件也稱為過濾條件
    2022-10-10
  • 修改Mysql索引長度限制解決767?byte限制問題

    修改Mysql索引長度限制解決767?byte限制問題

    這篇文章主要介紹了修改Mysql索引長度限制解決767?byte限制問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • MySQL InnoDB索引原理分析和算法解密

    MySQL InnoDB索引原理分析和算法解密

    InnoDB索引需平衡數(shù)量以優(yōu)化性能,支持哈希、B+樹和全文索引,哈希適用于等值查詢,B+樹高效處理范圍查找,全文索引用于文本檢索但受限于語言和字符集
    2025-07-07
  • Mysql中distinct與group by的去重方面的區(qū)別

    Mysql中distinct與group by的去重方面的區(qū)別

    distinct簡單來說就是用來去重的,而group by的設(shè)計目的則是用來聚合統(tǒng)計的,兩者在能夠?qū)崿F(xiàn)的功能上有些相同之處,但應(yīng)該仔細(xì)區(qū)分,因為用錯場景的話,效率相差可以倍計。
    2020-03-03

最新評論

玉环县| 靖州| 汉沽区| 响水县| 屏东县| 工布江达县| 泾阳县| 获嘉县| 南宫市| 潞西市| 儋州市| 开鲁县| 红安县| 金昌市| 尚志市| 建平县| 安庆市| 济源市| 崇左市| 博罗县| 华容县| 东方市| 长宁县| 民县| 远安县| 沛县| 墨江| 武隆县| 江门市| 虹口区| 枣强县| 资兴市| 克什克腾旗| 海盐县| 花莲市| 奉化市| 观塘区| 青阳县| 西林县| 福贡县| 北票市|