是什么?
是最流行的關系型資料庫管理系統
關系資料庫是建立在關系模型基礎上的資料庫,借助于集合代數等數學概念和方法來處理資料庫中的資料
mysql的優點:
1、性能卓越服務穩定,很少出現例外宕機
2、開放源代碼且無版本制約,自主性強、使用成本低
3、歷史悠久、社區及用戶非常活躍,遇到問題可以很多獲取幫助
4、軟體體積小,安裝使用簡單,易于維護,安裝及維護成本低
5、支持多種作業系統,提供多種API介面,支持多種開發語言
6、mysql是一個真正多用戶、多執行緒SQL資料庫服務器,它能夠快速、有效和安全的處理大量資料
mysql命名機制
如:mysql-5.7.20
第一個數字5是主版本號,用于描述檔案的格式,所有版本5的發行版都有相同的檔案夾格式
第2個數字7 是發行級別,主版本號和發行級別組合在一起構成發行序列號
第3個數字20 是此發行系列的版本號,隨每次新發行的版本遞增
mysql使用場景
1、Web網站系統:因為mysql的資料庫安裝配置簡單,使用程序中的維護較于大型商業資料庫管理系統沒有那么復雜,性能出色,另一個重要原因是開放源代碼,可以免費使用
2、日志記錄系統:mysql資料庫的插入和查詢性能非常高效,如果設計的好可以達到很高的并發性能,所以對于需要大量的插入和查詢日志記錄的系統來說,mysql比較適用
3、嵌入式系統:嵌入式環境對軟體系統最大的限制是硬體資源有限,在嵌入式環境下運行的軟體系統必須是輕量級低消耗的軟體,mysql是非常合適的資料庫系統,并且mysql有專門針對于嵌入式環境的版本
......
mysql日志
四種mysql日志
1、二進制日志:以二進制的形式記錄了資料庫中的操作,但不記錄不改變資料庫的sql陳述句(如select、show),二進制日志主要用戶資料庫恢復和主從復制
2、錯誤日志:記錄mysql的啟動,關閉和運行錯誤等資訊,默認開啟且無法停止
3、通用查詢日志:記錄用戶登錄和記錄查詢的資訊
4:慢查詢日志:記錄查詢時間超過指定時間(默認10秒)的操作默認情況下,只開啟了錯誤日志功能,其它的日志功能需要管理員設定
#在navicat中執行 show global variables like '%log%'; #查詢日志 #二進制日志 show global variables like "%log_bin%"; #查看二進制日志 show binary logs #查看二進制檔案串列 show master status #查看正在寫入的binlog檔案 #錯誤日志 show variables like 'log_error' #查看錯誤日志:會顯示出來錯誤日志地址 #通用查詢日志 show variables like 'general_log_file' #查看通用查詢日志 #慢日志、 show global variables like 'long%'; #慢日志超時時間查詢
Mysql性能優化
為什么要進行性能優化?
提高mysql資料庫整體的性能,需要合理的資料庫結構設計和引數調整來提高用戶操作回應的速度,同時還要盡可能節省系統資源,方便系統可以提供更大負荷的服務
性能引數:
查詢mysql的性能引數
SHOW status;
例:輸入“show status”指令查詢到的所有性能引數

常用的引數如下:
SHOW STATUS LIKE 'Connections'; #連接mysql服務器的次數 SHOW STATUS LIKE 'Uptime'; #服務器上線時間 SHOW STATUS LIKE 'Slow_queries'; #慢查詢的次數:超過指定時間的SQL陳述句查詢稱為“慢查詢”, SHOW STATUS LIKE 'Com_select'; #查詢操作的次數 SHOW STATUS LIKE 'Com_insert'; #查詢插入操作的次數,對于批量插入操作,只累加一次 SHOW STATUS LIKE 'Com_update'; #更新操作的次數 SHOW STATUS LIKE 'Com_delete'; #洗掉操作的次數
EXPLAIN和DESCRIBE(查詢分析器)
EXPLAIN陳述句的作用:分析sql陳述句的性能
參考鏈接:
http://c.biancheng.net/view/7873.html
https://www.jianshu.com/p/8fab76bbf448
優化插入資料速度兩種方式
1、禁用索引
對非空表插入資料時,mysql會根據表的索引對插入的記錄進行排序,插入大量資料時,會降低插入資料的速度,為了解決這種情況,可以在插入資料之前禁用索引,資料插入完畢后開啟索引
//禁用索引陳述句 ALTER TABLE "表名" DISABLE KEYS; //重新開啟索引的陳述句 ALTER TABLE "表名" ENABLE KEYS;
2、禁用唯一性檢查
插入資料時,mysql會對插入的資料進行唯一性檢查,這種唯一性檢驗會降低插入資料的速度,為了降低這種情況對查詢速度的影響,可以在插入資料前禁用唯一性的檢查,等插入資料完畢后開啟
//禁用唯一性檢查陳述句 SET UNIQUE_CHECKS=0; //開啟唯一性檢查陳述句 SET UNIQUE_CHECKS=1;
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/147761.html
標籤:其他
上一篇:對索引的了解
下一篇:MySQL見聞錄 - 入門之旅
