前言
對于一個以數據為中心的應用,數據庫的好壞直接影響到程序的性能,因此數據庫性能至關重要。所以mysql數據庫的優化操作大家都要有所了解,本文就主要總結了mysql數據庫中常見的優化操作,下面話不多說了,來看看詳細的介紹吧。
一、Index索引
將Index放第一位,不用說,這種優化方式我們一直都在悄悄使用,那便是主鍵索引。有時候我們可能并不在意,如果定義適合的索引,數據庫查詢性能(速度)將提高幾倍甚至幾十倍。
普通索引
作用是提高查詢速度。
建表,創建索引
| CREATE TABLE tbl_name(字段名稱 字段類型 [完整性約束條件],~index [索引名] (column_name)); | 
創建索引
| CREATE INDEX index_name ON tab_name (column_name) | 
刪除索引
| DROP INDEX index_name FROM tab_name | 
查看索引
| SHOW index FROM tab_name | 
主鍵索引
作用是加速查詢和唯一約束
建表,創建索引
| CREATE TABLE tbl_name(字段名稱 字段類型 [完整性約束條件],~PRIMARY KEY(column_name)); | 
創建索引
| ALTER TABLE tab_name ADD PRIMARY KEY(column_name) | 
刪除索引
| ALTER TABLE tab_name DROP PRIMAY KEY(column_name) | 
唯一索引
作用是加速查詢和唯一約束
建表,創建索引
| CREATE TABLE tbl_name(字段名稱 字段類型 [完整性約束條件],~unique [索引名] (column_name)); | 
創建索引
| CREATE UNIQUE INDEX index_name ON tab_name (column_name) | 
刪除索引
| DROP UNIQUE INDEX index_name FROM tab_name | 
二、少用SELECT*
可能有的人查詢數據庫時,遇到要查詢的都會select,這是不恰當的行為。我們應該取我們要用的數據,而不是全取,因為當我們select時,會增加web服務器的負擔,增加網絡傳輸的負載,查詢速度自然就下降 。
三、EXPLAIN SELECT
對于這個功能估計很多人都沒見過,但是這里強烈推薦使用。explain顯示了mysql如何使用索引來處理select語句以及連接表。可以幫助選擇更好的索引和寫出更優化的查詢語句。主要用發就是在select前加上explain即可。
| EXPLAIN SELECT [查找字段名] FROM tab_name ... | 
四、開啟查詢緩存
大多數的MySQL服務器都開啟了查詢緩存。這是提高性最有效的方法之一,而且這是被MySQL的數據庫引擎處理的。當有很多相同的查詢被執行了多次的時候,這些查詢結果會被放到一個緩存中,這樣,后續的相同的查詢就不用操作表而直接訪問緩存結果了。
新聞熱點
疑難解答