nysql數據庫優化

硬件優化前端

軟件優化mysql

my.cnf參數優化,命令監控show global status\Gredis

                             調優工具mysqlreportsql

sql語句優化數據庫

索引的優化安全

                    白名單機制--百度,就是讓一些不規範的語句執行查詢前通過DBA的確認,不經過不給執行,項目開發時讓DBA參與,減小上線後的慢sql查詢數量架構

                    抓出慢SQL,配置my.cnf運維

                    long_query_time=2nosql

                    log-slow-queries=/data/slow-log.logmemcached

                    按天輪詢slow-log.log

                    慢查詢日誌分析工具:mysqldumpslow   mysqlsla    myprofi   mysql-explain-slow-log   mysqllogfilter

                    天天晚上0點定時分析慢查詢,發到開發,DBA,CTO郵箱,由DBA給出優化建議,開發確認後,DBA線上執行

大的複雜的SQL語句拆分紅多個小的語句

數據庫是存儲數據的地方,不是計算數據的地方,因此對數據的計算,應用類處理,都要在前端解決,禁止在數據庫上處理

搜索功能,like%查詢名字%無法用索引,通常不要用MySQL數據庫,用memcached或者redis

架構優化

  業務拆分:like%查詢名字%無法用索引,通常不要用MySQL數據庫

  數據庫前端加cache:用memcached或者redis,例如:用戶登陸,商品查詢

  某些業務使用nosql持久化存儲,redis,ttserver,例如:粉絲關注,好友關係等

  動態數據靜態化,整個文件靜態化,頁面片斷靜態化

  數據庫集羣與讀寫分離,一主多從,經過程序或者dbproxy進行集羣讀寫分離

  單表超過2千萬,拆庫拆表,人工拆表拆庫(登陸,商品,訂單) 

流程,制度,安全優化

  任何一次人爲數據庫記錄更新,都要走一個流程

  人的流程:開發---核心開發--運維或DBA

   測試流程:內網測試--IDC測試

相關文章
相關標籤/搜索