mysql use db後很卡解決

2021-12-30 11:23:10 字數 2402 閱讀 8652

mysql use db後很卡解決

平時自己使用的一台mysql,use db之後,總是感覺很卡,按完回車要快1s才能返回。覺得有什麼蹊蹺,就開啟了general log,發現簡單的use test,mysql實際執行了很多內容:

而簡單的show tables,show databases, select database(),show tables from test,實際都只對應一條generallog。

sql**  

130603 16:17:12     2 query     show tables  

130603 16:17:28     2 query     show databases  

130603 16:17:48     2 query     select database()  

130603 16:19:44     3 query     show tables from test  

從general log可以看到 一條use test,實際執行了多次dispatch_command(),使用gdb對general_log_write()設定斷點,實際執行如下:

com_query,對應的sql是 select database(),呼叫路徑為:handle_one_connection(sql_connect.cc)->do_command(sql_parse.cc)->dispatch_command(sql_parse.cc,command=com_query,packet="select database()");

com_init_db,呼叫路徑為:handle_one_connection(sql_connect.cc)->do_command(sql_parse.cc)->dispatch_command(sql_parse.cc,command=com_init_db,packet="test");

com_query,對應的sql是 show databases,呼叫路徑為:handle_one_connection(sql_connect.cc)->do_command(sql_parse.cc)->dispatch_command(sql_parse.cc,command=com_query,packet="show databases");

com_query,對應的sql是show tables,呼叫路徑為:handle_one_connection(sql_connect.cc)->do_command(sql_parse.cc)->dispatch_command(sql_parse.cc,command=com_query,packet="show tables");

com_field_list,呼叫路徑為:handle_one_connection(sql_connect.cc)->do_command(sql_parse.cc)->dispatch_command(sql_parse.cc,command=com_field_list,packet="columns_priv")。此處是n次呼叫(n為被use的schema下的表的個數,每次呼叫的時候,pachet內容即為表名);

因此在被use的schema下的表比較多的時候,自然會顯得有些卡了(連續use同樣的schema,則第二次use,則只會有com_query和com_init_db的過程), 為了避免use db後很卡,my.cnf裡加上 no-auto-rehash;或者用mysql client連線的時候加上-a選項。

解決git bash很卡的問題

最近突然不知道怎麼回事,git特別卡,就是開啟git bash,就算執行乙個git version都得等半分鐘這樣 然後上網查,網上給出的方案大致這麼幾種 什麼amd雙顯示卡設定的問題 360安全衛士,火絨等工具查殺一下 解除安裝重新安裝 解除安裝重新安裝到預設目錄,不要指定目錄 這些方法我是挨個試...

解決GitLab很卡,超時問題 Docker部署

最近購買了乙個阿里雲centos8低配1核2g伺服器,想在上面搭些服務,但在docker啟動gitlab容器後訪問ip經常超時,要不就是請求需等很長時間 網上說的是gitlab配置最好是2核4g,開始是想再換 乙個,但1年活動價得1000多,有些捨不得,就嘗試優化下試試。先用free m 看下記憶體...

頁面執行一段時間後很卡排查 dom節點洩露

前段時間專案測試過程中發現乙個bug,即頁面開啟一段時間後發現網頁的cpu占用很高,分析後初步判斷是頁面中存在一些定時功能中,可能需要會對dom結點進行刪增改操作,處理不當,就可能導致dom節點的洩露情況,隨著程式執行,js的dom選擇操作將越來越慢,那麼對這種問題如何定位?有一種比較好的方案就是使...