如何解決數據庫查詢耗費時間的問題?

最近公司獲取資產列表的接口奇慢無比,架構師給出如下解決辦法思路

  1. 把數據庫全緩存在redis中
  2. 給數據庫建索引index
  3. 存儲介質換成固態硬盤
  4. 抓取django查詢數據庫的sql語句。

其中從第四條開始著手的時候,遇到django使用django.core.serializer來序列化,無法抓取這部分的sql。于是從MySQL數據庫這端來抓取。打開MySQL引擎的配置文件(/etc/mysql/my.cnf ),把general_log_file= /var/log/mysql/mysql.loggeneral_log=1參數前面的注釋去掉,然后重啟數據庫服務(service mysql restart)。查詢后進入 /var/log/mysql/mysql.log查看語句。

最終原因找到,是切片工作沒有在序列化之前完成,導致每次序列化是進行全表掃描。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 什么是數據庫? 數據庫是存儲數據的集合的單獨的應用程序。每個數據庫具有一個或多個不同的API,用于創建,訪問,管理...
    chen_000閱讀 4,055評論 0 19
  • 1、引言 數據庫設計過程中表、字段等的命名規范也算是設計規范的一部分,不過設計規范更多的是為了確保數據庫設計的合理...
    SnowflakeCloud閱讀 41,090評論 0 48
  • //我所經歷的大數據平臺發展史(三):互聯網時代 ? 上篇http://www.infoq.com/cn/arti...
    葡萄喃喃囈語閱讀 51,315評論 10 200
  • 系統架構:主要表述了契合一個環境的系統的基本元素及元素之間關系構成的結構集,在環境中體現出來的基本屬性,以及設計與...
    艾爾溫閱讀 1,103評論 0 50
  • “你認識我的時候我已經是這個樣子 是個符合或者不符合你想法的成品 你也無法參與我的成長 不能看到我從不懂事到懂事 ...
    馬澤凡閱讀 111評論 0 0