日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql从库应用负载_线上MySQL数据库高负载的解决思路--再次论程序应用索引的重要性...

發(fā)布時間:2025/3/8 数据库 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql从库应用负载_线上MySQL数据库高负载的解决思路--再次论程序应用索引的重要性... 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

前言:過去的筆記整理而得,未免丟失,發(fā)布個人博客。[2012年的資料筆記]

場景:數(shù)據(jù)庫的負載飆升,CPU高達99%。

查看進程。通過猜測推理,定位了一些select語句

363478427 | apps_read ? ? | 192.168.1.113:48945 | apps ? ? ? | Query ? ? ? | ? ? ? 1 | Sending data ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? | select * from category_doc_info

where (doc_title = '???') ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?|

| 363478430 | apps_read ? ? | 192.168.1.113:48948 | apps ? ? ? | Query ? ? ? | ? ? ? 1 | Sending data ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? | select * from category_doc_info

where (doc_title = '??????') ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |

| 363478434 | apps_read ? ? | 192.168.1.113:48952 | apps ? ? ? | Query ? ? ? | ? ? ? 1 | Sending data ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? | select * from category_doc_info

where (doc_title = '?????????') ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?|

| 363478437 | apps_read ? ? | 192.168.1.113:48955 | apps ? ? ? | Query ? ? ? | ? ? ? 1 | Sending data ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? | select * from category_doc_info

where (doc_title = '????????') ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |

| 363478462 | apps_read ? ? | 192.168.1.113:48957 | apps ? ? ? | Query ? ? ? | ? ? ? 1 | Sending data ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? | select * from category_doc_info

where (doc_title = '???????') ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?|

| 363478500 | apps_read ? ? | 192.168.1.113:48960 | apps ? ? ? | Query ? ? ? | ? ? ? 1 | Sending data ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? | select * from category_doc_info

where (doc_title = '????') ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |

| 363478511 | apps_read ? ? | 192.168.1.113:48963 | apps ? ? ? | Query ? ? ? | ? ? ? 0 | Sending data ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? | select * from category_doc_info

where (doc_title = '??????') ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |

| 363478518 | apps_read ? ? | 192.168.1.113:48964 | apps ? ? ? | Query ? ? ? | ? ? ? 1 | Sending data ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? | select * from category_doc_info

where (doc_title = 'T2??') ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |

| 363478535 | apps_read ? ? | 192.168.1.113:48965 | apps ? ? ? | Query ? ? ? | ? ? ? 0 | Sending data ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? | select * from category_doc_info

where (doc_title = '???') ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?|

| 363478540 | apps_read ? ? | 192.168.1.113:48968 | apps ? ? ? | Query ? ? ? | ? ? ? 1 | Sending data ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? | select * from category_doc_info

where (doc_title = '??') ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |

| 363478613 | apps_read ? ? | 192.168.1.113:48971 | apps ? ? ? | Query ? ? ? | ? ? ? 0 | Sending data ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? | select * from category_doc_info

where (doc_title = '???') ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?|

| 363478630 | apps_read ? ? | 192.168.1.113:48975 | apps ? ? ? | Query ? ? ? | ? ? ? 0 | Sending data ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? | select *

查看此表的數(shù)據(jù)庫表結(jié)構(gòu)如下:

---------------------------------------------------------------------------------------------------------------------------------------------------------

| category_doc_info | CREATE TABLE `category_doc_info` (

`id` int(10) unsigned NOT NULL auto_increment,

`category_id` int(10) unsigned NOT NULL COMMENT

`doc_title` varchar(255) NOT NULL COMMENT

`category_show` tinyint(1) unsigned NOT NULL COMMENT

`category_Coordinate` tinyint(1) unsigned NOT NULL default '2'

`category_order` tinyint(1) unsigned NOT NULL default '0'

PRIMARY KEY ?(`id`),

UNIQUE KEY `INDEX_SEARCH` (`category_id`,`doc_title`),

) ENGINE=InnoDB AUTO_INCREMENT=343502 DEFAULT CHARSET=utf8 |

---------------------------------------------------------------------------------------------------------------------------------------------------------

發(fā)現(xiàn)只有一個組合索引。但是完全沒有用到。

現(xiàn)實場景:都是where (doc_title = '???') ?的語句

查看具體的一條SQL語句的執(zhí)行計劃,如下:

mysql> explain ?select * from category_doc_info where (doc_title = '獨出新裁');

+----+-------------+-------------------+------+---------------+------+---------+------+--------+-------------+

| id | select_type | table ? ? ? ? ? ? | type | possible_keys | key ?| key_len | ref ?| rows ? | Extra ? ? ? |

+----+-------------+-------------------+------+---------------+------+---------+------+--------+-------------+

| ?1 | SIMPLE ? ? ?| category_doc_info | ALL ?| NULL ? ? ? ? ?| NULL | NULL ? ?| NULL |?232717| Using where |

+----+-------------+-------------------+------+---------------+------+---------+------+--------+-------------+

可以發(fā)現(xiàn)都是全表查詢,并且是高并發(fā)的訪問上述語句。

經(jīng)過分析,修改生產(chǎn)環(huán)境的表結(jié)構(gòu),如下:

| category_doc_info | CREATE TABLE `category_doc_info` (

`id` int(10) unsigned NOT NULL auto_increment,

`category_id` int(10) unsigned NOT NULL,

`doc_title` varchar(255) NOT NULL',

`category_show` tinyint(1) unsigned NOT NULL,

`category_Coordinate` tinyint(1) unsigned NOT NULL default '2',

`category_order` tinyint(1) unsigned NOT NULL default '0',

PRIMARY KEY ?(`id`),

UNIQUE KEY `INDEX_SEARCH` (`category_id`,`doc_title`),

KEY `idx_category_title` (`doc_title`) ? ? ? ? ? ? ? ? ? ? ? ? ? ?//新添加的表索引

) ENGINE=InnoDB AUTO_INCREMENT=343502 DEFAULT CHARSET=utf8 |

讓上述的程序應(yīng)用走索引,數(shù)據(jù)庫的負載恢復(fù)正常,性能恢復(fù)正常。

總結(jié)

以上是生活随笔為你收集整理的mysql从库应用负载_线上MySQL数据库高负载的解决思路--再次论程序应用索引的重要性...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。