Mysql優化學習-查找慢查詢語句

如何添加索引

1.在表創建時加

create database table1{

        id primary key not null,

        index|keys 索引名 (id)

}

2.在已經創建好的表中添加

create index|keys 索引名 on 表名 (字段名)

3.如何使用索引  一般是用添加了索引的字段作爲where的條件

如:select * from tables where id = 3;(ID是作爲索引字段)

 

一般的我們可以將字段當成是變量來進行運算,同時在sql中 比較判斷的結果爲0和1  ture 爲1  false爲0

比如select scroe>60 from stu;  則結果會是0和1

select sum(scroe>60) from stu;這樣我們就可以知道全班及格人數了 因爲每執行一次scroe>60就會返回0或1  因此只要對此求和就行

4.where和having的區別   

where不能用別名來做判斷   having可以使用別名

比如:select  (mark_price - price) as 'cj' from marker having cj > 200; 如果使用where 則會報錯

 

 

mysql的優化-------------

 

 

一、表的設計合理性

三範式的表能用聯表推導的字段就不要都寫在一個表上

如何檢查出  查詢比較慢的sql語句

 

 

定位慢查詢

 

測試數據生成   利用存儲過程  藉助自定義函數來生成

mysql定義函數

mysql定義存儲過程

 

 

set long_query_time = 3;先設置mysql認定慢查詢的時間爲3秒   默認是10秒

這樣  只要sql語句超過了3秒的都會被記錄到日誌中  從而可以優化語句 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章