MYSQL優化的點點東西

2021-07-05 01:46:11 字數 1123 閱讀 4557

1、 學會分析查詢語句。登入客戶端後explain [sql語句]\g,這樣就可以給你乙個詳細的評價,包括使用索引沒。

2、 必須清楚索引對查詢速度的影響,如果不使用所用,查詢語句將查詢表中的所有記錄,即每行都要檢測。

3、 使用索引查詢需注意一下幾點,意識查詢的時候使用like的話,記住萬用字元要放在後面,即第乙個不能是萬用字元%。如果查詢的時候使用多列索引,要記住一定要使用多列索引的第乙個,如果沒有使用第乙個,就用不到索引。第三個對於or 的語句,要兩個條件都是索引才能用到兩個索引。

4、 盡量不要使用子查詢,因為子查詢要建立乙個臨時表,替代辦法是使用連線查詢。

1、如果乙個表裡有很多四段,而有些欄位的使用頻率很低,這個使用查詢資料的時候的速度就會很慢。這個時候你就有必要把很多欄位的表分解成多個表。

2、增加中間表,有時候需要經常查詢某兩個表中的幾個字段,如果經常進行聯表查詢,會降低mysql的查詢速度。對於這個情況,可以建立乙個中間表。語句:insert into temp_score select student.id,student.grade fromstudent,score where student.id=score.stu_id;

3、增加冗餘字段,有時候因為過分注重三正規化,導致查詢速度降低。解決的辦法是可以適當增加一下冗餘,沒有必要分很多的表出來。

4、優化插入記錄的速度,第一點在插入的時候要禁用索引,因為你索引如果開啟的話,你插入的時候要對該資料列進行排序。解決辦法是插入的時禁用索引,插入完了之後再開啟索引。第二禁用唯一性檢查,如果你每條每條插入的時候就要進行唯一性檢查,太浪費了資源了吧,解決辦法是set unique_checks=0;插入資料完了後用set unique_checks=1;開啟唯一性檢查。優化insert 語句,記住一點乙個insert 語句插入多條記錄比一條一條  的insert 的插入好很多。

5、分析,檢查,優化表。分析表。分析analyze table score;檢查check table score [quick|fast|changed|medium|extended]  學到乙個技巧,按下shift+f3,按第一下,是將單詞開頭字母變成大寫,但後面的還是小寫按第二下,就會將所有小寫字母全部更換成大寫字母。同樣的,大寫字母也可以用這招全部變成小寫。優化optimize table score。優化可以消除刪除和更新造成的磁碟碎片。

mysql筆記點點點。。。

一直使用mysqlfront 很多命令懶得記 note一下吧 一 create table 方法 整表複製 create table 新錶 select from 舊表 結構複製 create table 新錶 select from 舊表 where 1 1 二 insert into 方法 得到...

關於MYSQL的點點

1.char 和 varchar 的區別 在資料庫的儲存之中,char和varchar都用來儲存字串,他們都可以設定乙個引數來表明最大的儲存位元組數。但是區別在於,char在儲存過程之中總會占用設定的引數個位元組空間,而varchar則只會占用需要的位元組空間。比如乙個單詞cat在varchar 1...

mysql的優化 MySQL優化

一 sql語句優化 1 使用limit對查詢結果的記錄進行限定 2 避免select 將需要查詢的字段列出來 3 使用連線 join 來代替子查詢 4 拆分大的delete或insert語句 二 選擇合適的資料型別 1 使用可存下資料的最小的資料型別,整型 date,time char,varcha...