MySQL優化:千萬級數據量根據索引優化查詢速度

MySQL是一個關係型數據庫管理系統,由瑞典MySQL AB 公司開發,目前屬於 Oracle 旗下公司。MySQL 最流行的關係型數據庫管理系統,在 WEB 應用方面MySQL是最好的 RDBMS (Relational Database Management System,關係數據庫管理系統) 應用軟件之一。

MySQL優化:千萬級數據量根據索引優化查詢速度

很多網站的重要信息都是保存在數據庫中的,用戶通過提交訪問數據庫來獲取用戶信息。如果數據庫速度很慢,將會對大大影響用戶的體驗,流失眾多的核心用戶。

今天此篇文章教你使用索引優化查詢速度,哪怕千萬級數據量,查詢速度也很快,幫你節省服務器的資源!

索引的作用

索引通俗來講就相當於書的目錄,當我們根據條件查詢的時候,沒有索引,便需要全表掃描,數據量少還可以,一旦數據量超過百萬甚至千萬,一條查詢sql執行往往需要幾十秒甚至更多,5秒以上就已經讓人難以忍受了。

提升查詢速度的方向:一是提升硬件(內存、cpu、硬盤),二是在軟件上優化(加索引、優化sql;優化sql不在本文闡述範圍之內)。能在軟件上解決的,就不在硬件上解決,畢竟硬件提升代碼昂貴,性價比太低。代價小且行之有效的解決方法就是合理的加索引。索引使用得當,能使查詢速度提升上萬倍,效果驚人!

索引類型

MySQL的索引有5種:

主鍵索引、普通索引、唯一索引、全文索引、組合索引(多列索引)

普通索引(index): 僅僅只是為了提高查詢的速度。

唯一索引(unique index): 防止數據出現重複

主鍵索引(primary key):引保證數據的唯一性,而且不能為NULL

全文索引(fulltext key):從字段中提取的特別關鍵詞

組合索引(多列索引):創建在多列上的索引

索引的語法

查看某張表的索引:show index from 表名;

創建普通索引:alter table 表名 add index 索引名 (加索引的列)

創建組合索引:alter table 表名 add index 索引名 (加索引的列1,加索引的列2)

刪除某張表的索引:drop index 索引名 on 表名;

性能測試

1)創建數據表

MySQL優化:千萬級數據量根據索引優化查詢速度

MySQL優化:千萬級數據量根據索引優化查詢速度

2)使用存儲過程插入一千萬條數據

MySQL優化:千萬級數據量根據索引優化查詢速度

3)執行存儲過程

MySQL優化:千萬級數據量根據索引優化查詢速度

4)測試結果,沒有加索引

MySQL優化:千萬級數據量根據索引優化查詢速度

5)給username添加索引

MySQL優化:千萬級數據量根據索引優化查詢速度

6)測試結果,添加索引

MySQL優化:千萬級數據量根據索引優化查詢速度

還想看哪些乾貨,可以留言給小編哦!關於MySQL優化視頻,也可評論轉發後臺找我要哦!


分享到:


相關文章: