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

溫馨提示×

溫馨提示×

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

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

使用phpmyadmin瀏覽庫結構很卡的問題的解決方案

發布時間:2020-06-19 04:24:35 來源:網絡 閱讀:1840 作者:garfield_chen 欄目:web開發

  問題描述:由于公司線上服務器和線上是完全分離的,但是有時候線上環境的測試或排錯還需要查看線上的數據庫,故這里給他們搭建了一個phpmyadmin的跳板機,通過該平臺可以連接線上的只讀庫;但是最近收到同事的反饋,查看表記錄的庫時候,發現操作很卡,特別是瀏覽庫下的表的時候,而此時線上只讀庫有一個在select count(*) from tbname的會話,主機IP就是phpmyadmin服務器,到這里就明白了,查看庫下的表的時候,phpmyadmin會顯示表行數,此操作嚴重拖累了phpmyadmin的響應,也問了百度和google,但是對于表數據量過多造成的phpmyadmin響應慢都沒有太好的解決方案,所以自己摸索了一下,嘗試修改一下phpmyadmin的源碼,故我這里的解決方案就是修改phpmyadmin的源碼,將'select count(*) from tbname'的SQL改寫。

  上面已概述了問題,現在直奔主題,說說如何修改phpmyadmin源碼解決這個問題的。

  基礎環境:

  操作系統:Centos 6.5 x64位

  phpmyadmin版本:ver 4.4.15.8

  MySQL版本: 均為5.6.33

  第一步: 既然我們知道是由于表行數統計造成,那么打開Table.class.php(phpmyadmin/libraries/Table.class.php)文件:

 查找文件中的函數'static public function countRecords',修改內容大概在581行前后

    原SQL如下:

'SELECT COUNT(*) FROM ' . PMA_Util::backquote($db) . '.'
                        . PMA_Util::backquote($table)

    由于查詢information_schema表的字段都是varchar類型,需要給字段value添加單引號,所以修改后的SQL如下:

'SELECT TABLE_ROWS FROM information_schema.TABLES where TABLE_SCHEMA = \'' . PMA_Util::backquote($db) .
                     '\' and TABLE_NAME = \'' . PMA_Util::backquote($table) . '\''

  第二步: 保存退出,然后重啟你的web服務apache或者nginx。

  第三步: 登錄phpmyadmin,瀏覽庫下的表,直接秒開,完全無卡頓的現象了。

  附注: 不過這時在庫下看到的表的紀錄數,除了多于50W行的表示顯示行數的,其余表行數都是0,這時由于libraries/config.default.php中的 $cfg['MaxExactCount'] = 500000參數設置導致,如果一定要顯示正確的表行數,可以把該參數設置為50000或者更低即可。

向AI問一下細節

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

AI

清新县| 灌云县| 应城市| 临猗县| 城口县| 获嘉县| 文安县| 湛江市| 鹤岗市| 弥渡县| 深泽县| 贵港市| 牟定县| 中阳县| 南康市| 清镇市| 略阳县| 高邑县| 垣曲县| 象山县| 怀宁县| 沂南县| 海宁市| 都昌县| 新蔡县| 潍坊市| 罗田县| 莱州市| 徐水县| 芦山县| 儋州市| 诸城市| 彭泽县| 中西区| 万全县| 迁安市| 南丹县| 平南县| 米林县| 德昌县| 桑日县|