綜合告警優化策略1-查詢速度優化(表格沒有添加索引)

啓動綜合告警的時候發現綜合告警在讀取傳輸網的數據的時候速度特別的慢,要等上十幾分鍾,後來陳元說是沒有添加索引。這才恍然大悟。

給表格添加索引的方法是:

交談中請勿輕信匯款、中獎信息、陌生電話,勿使用外掛軟件。

陳源  14:22:21
我現在知道爲啥我本地登錄加載傳輸告警大概要40多秒這麼長時間了。
Lyn  14:22:27
爲啥
陳源  14:23:06
ALARM_INFO_CURRENT_TRANS和CFG_TRAP_DEFINE兩張表都沒有索引
Lyn  14:23:20

Lyn  14:23:23
原來是這樣
陳源  14:23:32
我在CFG_TRAP_DEFINE上加了一個索引,重新登錄系統,2-3秒就進去了。
Lyn  14:23:41
建立的索引在什麼地方用呢
Lyn  14:23:54
我還真沒用過這
陳源  14:24:37
查詢的時候用
陳源  14:25:14
這個log是我在mysql數據庫裏面配置的,查詢時間超過10秒的sql都會被記錄下來。
14:25:28
成功接收文件 
 
打開文件   打開所在文件夾 
    
陳源  14:25:57
當然也可以通過命令:mysqladmin -uroot -proot processlist -v
來查看mysql狀態。

Lyn  14:26:02

陳源  14:26:40
mysqladmin -uroot -proot status也可以看當前數據庫連接數大小。
Lyn  14:32:27
配置文件是你自己寫的麼
Lyn  14:32:33
可以自動生成麼
陳源  14:32:50
自動生成的。
陳源  14:33:02
在mysql中的my.ini裏面配置下
Lyn  14:32:57
怎麼生成呢
Lyn  14:33:03

陳源  14:33:22
江蘇現場mysql版本是多少的
Lyn  14:33:21
5.4的
陳源  14:34:03
log_output=FILE
slow-query-log=1 
log-slow-queries=c:/slowquery.log
陳源  14:35:05
在my.ini的最後面加上以上配置語句,注意,江蘇現場的是按照在linux上面的,所以log路徑可以更改到/var/log/mysql/slowquery.log。
陳源  14:35:19
江蘇現場的是安裝linux上面的
Lyn  14:35:21

Lyn  14:35:59
這個是咱們測試用的,只是監視一下看有沒有超過查詢是時間的
陳源  14:36:24
然後根據slowquery.log中的內容對sql進行調優。
Lyn  14:36:36
優化起來很方便
陳源  14:36:45
默認查詢時間10秒,也可以修改的。
陳源  14:37:44
在mysql 命令行下執行explain sql_statement;命令,可以看到sql語句的詳細的執行計劃。
陳源  14:38:46

Lyn  14:40:58
你是怎麼給加的索引,是sql還是直接設置呢
陳源  14:42:15
sql命令或者第三方mysql客戶端都行啊
陳源  14:43:00
我就給cfg_trap_define表的trap_oid字段上加了索引
陳源  14:43:11
不加索引的話,就是全表掃描。
Lyn  14:43:36
哦,只要給主鍵加個索引就行了
陳源  14:44:20
也不一定是主鍵,主要是看sql。
Lyn  14:44:58
就是說我們查哪些字段就給他們設置索引對麼
陳源  14:46:05
恩,一般是對數據量很大的表並且需要經常被查詢的字段上加索引。
Lyn  14:46:56
我對其中的一部分添加上索引就行了麼,不用給每個字段都添加吧
陳源  14:47:56
不用,過多的索引甚至會影響性能的。
陳源  14:48:31
主要是在sql中找到關鍵字段,然後建立對應關鍵字段上的索引。
Lyn  14:48:57
哦哦,知道了
Lyn  14:49:12
真是受益匪淺呀
陳源  14:50:00
江蘇現場的mysql連接數改成1000了麼
Lyn  14:50:24
上次讓實施給改了下
Lyn  14:50:35
結果他又重啓了,又恢復默認值了
陳源  14:50:51
重啓就恢復默認值了?
Lyn  14:50:56
是呀
陳源  14:51:07
不能永久性修改麼
Lyn  14:51:07
我是給他個命令讓他設置了下
Lyn  14:51:19
可以,要改mysql的配置文件呢
陳源  14:51:49
c3p0 數據連接池,按道理不會用那麼多連接啊。
陳源  14:51:53

Lyn  14:52:30
在文件裏也有設置連接池鏈接數的,那個我也設置過
陳源  14:54:00
一般做完增刪改查操作,執行rs.close() stmt.close() conn.close() 應該就講連接關閉,釋放到連接池裏面去了的。
Lyn  14:54:03
感覺效果不大

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章