中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL管理出現長時間執行原因解析

發布時間:2020-04-28 11:35:11 來源:億速云 閱讀:325 作者:三月 欄目:MySQL數據庫

下文內容主要給大家帶來MySQL管理出現長時間執行原因解析,這里所講到的知識,與書籍略有不同,都是億速云專業技術人員在與用戶接觸過程中,總結出來的,具有一定的經驗分享價值,希望給廣大讀者帶來幫助。

1. 出現長時間執行的查詢的原因

   由于SQL執行效率差而導致的長時間查詢:

   由于被SQL注入而導致的長時間查詢:

   由于DDL語句引起表元數據鎖等待:

MySQL管理出現長時間執行原因解析

2. 長時間執行的查詢帶來的問題

    通常來說,除非是BI/報表類查詢,否則長時間執行的查詢對于應用缺乏意義。

    消耗系統資源,比如大量長時間查詢可能會引起 CPU、IOPS 和/或 連接數 使用率過高等問題。

    帶來系統不穩定的隱患(比如 InnoDB 引擎表上的長時間查詢可能會導致 ibdata1 系統文件尺寸的增加)


3. 如何避免長時間執行的查詢

應用方面應注意增加防止 SQL 注入的保護。

在新功能模塊上線前,進行壓力測試,避免出現執行效率很差的 SQL 大量執行的情況。

盡量在業務低峰期進行索引創建刪除、表結構修改、表維護和表刪除操作。


4. 如何處理長時間執行的查詢

a、通過命令 show processlist; 查看當前執行會話,Kill會話長時間查詢。

b、創建事件自動清理長時間執行的查詢

create event my_long_running_query_monitor
on schedule every 5 minute
starts '2018-08-08 11:00:00'
on completion preserve enable do
begin
  declare v_sql varchar(500);
  declare no_more_long_running_query integer default 0;
  declare c_tid cursor for
    select concat ('kill ',id,';') from 
    information_schema.processlist
    where time >= 3600
    and user = substring(current_user(),1,instr(current_user(),'@')-1)
    and command not in ('sleep')
    and state not like ('waiting for table%lock');
  declare continue handler for not found
    set no_more_long_running_query=1;
 
  open c_tid;
  repeat
    fetch c_tid into v_sql;
    set @v_sql=v_sql;
    prepare stmt from @v_sql;
    execute stmt;
    deallocate prepare stmt;
  until no_more_long_running_query end repeat;
  close c_tid;
end;

對于以上關于MySQL管理出現長時間執行原因解析,如果大家還有更多需要了解的可以持續關注我們億速云的行業推新,如需獲取專業解答,可在官網聯系售前售后的,希望該文章可給大家帶來一定的知識更新。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

平遥县| 江口县| 城口县| 腾冲县| 韩城市| 永登县| 邢台县| 乃东县| 浦东新区| 化德县| 梓潼县| 岳西县| 榕江县| 长顺县| 齐齐哈尔市| 琼海市| 汤原县| 靖西县| 柏乡县| 汪清县| 叙永县| 金川县| 法库县| 巴彦县| 涟水县| 阿荣旗| 海城市| 都兰县| 禄丰县| 谷城县| 尤溪县| 武汉市| 文水县| 尚义县| 奉节县| 延津县| 朝阳区| 浦县| 武乡县| 开阳县| 开鲁县|