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

MySQL 一則慢日志監(jiān)控誤報(bào)的問題分析與解決

 更新時(shí)間:2021年01月26日 15:09:29   作者:jeanron100  
這篇文章主要介紹了MySQL 一則慢日志監(jiān)控誤報(bào)的問題分析與解決,幫助大家更好的理解和使用MySQL,感興趣的朋友可以了解下

之前因?yàn)楦鞣N原因,有些報(bào)警沒有引起重視,最近放假馬上排除了一些潛在的人為原因,發(fā)現(xiàn)數(shù)據(jù)庫的慢日志報(bào)警有些奇怪,主要表現(xiàn)是慢日志報(bào)警不屬實(shí),收到報(bào)警的即時(shí)通信提醒后,隔一會去數(shù)據(jù)庫里面去排查,發(fā)現(xiàn)慢日志的性能似乎沒有那么差(我設(shè)置的一個(gè)閾值是60)。

排查過幾次代碼層面的邏輯,沒有發(fā)現(xiàn)明顯的問題,幾次下來,問題依舊,這可激發(fā)了修正的念頭,決定認(rèn)真看看到底是什么原因。

后端使用的是基于ORM的模式,數(shù)據(jù)都存儲在模型MySQL_slowlog_sql_history對應(yīng)的表中。

代碼層面是類似如下的邏輯:

MySQL_slowlog_sql_history.objects.filter(create_time__gt='2020-01-29 11:00:00',Query_time_pct_95__gt=60)

傳入的時(shí)間是動態(tài)的,然后閾值取60秒,按照預(yù)期如果報(bào)警出來就肯定是有問題的。

為了進(jìn)一步驗(yàn)證,我把閾值時(shí)間修改為600,竟然還是報(bào)出錯(cuò)誤,執(zhí)行7~8秒的慢查詢照樣會報(bào)出來。

我使用debug的方式得到了ORM解析得到的SQL:

SELECT...`mysql_slowlog_sql_history`.`create_time`, `mysql_slowlog_sql_history`.`memo` 
FROM `mysql_slowlog_sql_history` 
WHERE (`mysql_slowlog_sql_history`.`create_time` > '2020-01-29 11:00:00' AND `mysql_slowlog_sql_history`.`Query_time_pct_95` > '600') LIMIT 21; 
args=(u'2020-01-29 11:00:00', u'600')

看SQL沒問題啊。

我自己在客戶端執(zhí)行,確實(shí)是好好的,只過濾出了600秒以上的結(jié)果。

select ip_addr,db_port from mysql_slowlog_sql_history 
where create_time>'2020-01-29 00:00:00' and Query_time_pct_95 > 600;

對著這個(gè)結(jié)果我開始反思,到底是什么原因呢?

我看著模型的字段定義開始有所悟,然后快速驗(yàn)證了一番。

為了方便說明,我創(chuàng)建了一個(gè)測試表test_dummy.

create table test_dummy(id int primary key auto_increment,Query_time_pct_95 varchar(100));

初始化幾條數(shù)據(jù)。

insert into test_dummy(Query_time_pct_95 ) values('8.83736'),('7.70056'),('5.09871'),('4.32582');
+----+-------------------+
| id | Query_time_pct_95 |
+----+-------------------+
| 1 | 8.83736      |
| 4 | 7.70056      |
| 7 | 5.09871      |
| 10 | 4.32582      |
+----+-------------------+
4 rows in set (0.00 sec)

然后使用如下的兩條語句來進(jìn)行對比測試。

mysql> select *from test_dummy where Query_time_pct_95>600;
Empty set (0.00 sec)
mysql> select *from test_dummy where Query_time_pct_95>'600';
+----+-------------------+
| id | Query_time_pct_95 |
+----+-------------------+
| 1 | 8.837364     |
| 2 | 7.700558     |
+----+-------------------+
2 rows in set (0.00 sec)

可以看到,使用了整型數(shù)值的時(shí)候,沒有返回結(jié)果,而使用了字符類型的時(shí)候,匹配的結(jié)果是按照最左匹配的模式來進(jìn)行過濾的,也就意味著在數(shù)據(jù)庫層面對于浮點(diǎn)數(shù)的處理還是差別很大的。

所以這個(gè)問題的快速修復(fù)方式就是在數(shù)據(jù)庫層面修改數(shù)據(jù)表的類型為float,而在精度損失方面這塊的影響是可以忽略不計(jì)的。

再次驗(yàn)證,這個(gè)問題就沒有再次出現(xiàn)。

以上就是MySQL 一則慢日志監(jiān)控誤報(bào)的問題分析與解決的詳細(xì)內(nèi)容,更多關(guān)于MySQL慢日志監(jiān)控誤報(bào)的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • MySQL?數(shù)據(jù)庫的基礎(chǔ)知識

    MySQL?數(shù)據(jù)庫的基礎(chǔ)知識

    這篇文章主要介紹了MySQL?數(shù)據(jù)庫的基礎(chǔ)知識,它是一類更具體的可以管理數(shù)據(jù)的軟件。但是實(shí)現(xiàn)數(shù)據(jù)庫的這個(gè)軟件,需要用到很多的數(shù)據(jù)結(jié)構(gòu),下面來看看文章是怎么具體介紹這個(gè)數(shù)據(jù)庫的
    2021-12-12
  • MySQL5.6與5.7版本區(qū)別有多大

    MySQL5.6與5.7版本區(qū)別有多大

    MySQL是一種關(guān)系型數(shù)據(jù)庫管理系統(tǒng),最常用的版本是5.6和5.7,mysql5.7是5.6的新版本,在沒有減少功能的情況下新增了功能與進(jìn)行了優(yōu)化,例如新增了新的優(yōu)化器、原生JSON支持、多源復(fù)制,還優(yōu)化了整體的性能、GIS空間擴(kuò)展、InnoDB...
    2024-03-03
  • Mysql連接join查詢原理知識點(diǎn)

    Mysql連接join查詢原理知識點(diǎn)

    在本文里我們給大家整理了一篇關(guān)于Mysql連接join查詢原理知識點(diǎn)文章,對此感興趣的朋友們可以學(xué)習(xí)下。
    2019-02-02
  • MySQL的binlog日志使用詳解

    MySQL的binlog日志使用詳解

    這篇文章主要介紹了MySQL的binlog日志使用詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • mysqldump參數(shù)詳細(xì)說明及用途

    mysqldump參數(shù)詳細(xì)說明及用途

    ??mysqldump?? 是一個(gè)強(qiáng)大的工具,用于從 MySQL 數(shù)據(jù)庫中導(dǎo)出數(shù)據(jù),它支持多種輸出格式,包括 ??CSV??、??SQL??、??XML?? 等,在本文中,我們將詳細(xì)介紹 ??mysqldump?? 的一些常用參數(shù),以及它們的用途,感興趣的朋友一起看看吧
    2024-12-12
  • Mysql5.7中使用group concat函數(shù)數(shù)據(jù)被截?cái)嗟膯栴}完美解決方法

    Mysql5.7中使用group concat函數(shù)數(shù)據(jù)被截?cái)嗟膯栴}完美解決方法

    前幾天在項(xiàng)目中遇到一個(gè)問題,使用 GROUP_CONCAT 函數(shù)select出來的數(shù)據(jù)被截?cái)嗔?,最長長度不超過1024字節(jié),開始還以為是navicat客戶端自身對字段長度做了限制的問題。后來查找出原因,解決方法大家跟隨腳本之家小編一起看看吧
    2018-03-03
  • 修改mysql密碼與忘記mysql密碼的處理方法

    修改mysql密碼與忘記mysql密碼的處理方法

    修改mysql密碼與忘記mysql密碼的處理方法,有需要的朋友可以參考下
    2013-02-02
  • Mysql 模糊查詢和正則表達(dá)式實(shí)例詳解

    Mysql 模糊查詢和正則表達(dá)式實(shí)例詳解

    在MySQL中,可以使用LIKE運(yùn)算符進(jìn)行模糊查詢,LIKE運(yùn)算符用于匹配字符串模式,其中可以使用通配符來表示任意字符或字符序列,這篇文章主要介紹了Mysql 模糊查詢和正則表達(dá)式實(shí)例詳解,需要的朋友可以參考下
    2023-11-11
  • mssql轉(zhuǎn)換mysql的方法小結(jié)

    mssql轉(zhuǎn)換mysql的方法小結(jié)

    mssql轉(zhuǎn)換mysql的方法小結(jié),需要的朋友可以參考下。
    2011-03-03
  • 從 MySQL源碼分析網(wǎng)絡(luò)IO模型

    從 MySQL源碼分析網(wǎng)絡(luò)IO模型

    這篇文章主要為大家介紹了從 MySQL源碼分析網(wǎng)絡(luò)IO模型,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06

最新評論

内丘县| 定南县| 南漳县| 固镇县| 大英县| 大同市| 彰武县| 顺昌县| 宜昌市| 奉节县| 天水市| 沂水县| 华容县| 凤山县| 双牌县| 惠来县| 即墨市| 夏津县| 林西县| 大同市| 遂宁市| 邵阳市| 泉州市| 乌拉特后旗| 新龙县| 浦县| 突泉县| 娄烦县| 东莞市| 西华县| 德惠市| 深州市| 陇川县| 桐柏县| 安泽县| 禄丰县| 大石桥市| 横山县| 龙口市| 隆安县| 库车县|