增加資料庫的穩定性
優化使用者體驗
–檢視sql是否使用索引,前面加上explain即可
explain出來的資訊有10列,分別是id,select_type,tabl,type,possible_keys,key,key_len,ref,rows,extra
概要描述:
id:選擇識別符號
select_type:表示查詢的型別
table:輸出結果集的表
partitions:匹配的表
type:表示表的連線型別
possible_keys:表示查詢時,可能使用的索引
key:
表示實際使用的索引
key_len:索引欄位的長度
ref:索引欄位的長度
ref:列與索引的比較
rows:掃瞄出的行數(估算的行數)
filtered:按表條件過濾的行百分比
extra:執**況的描述和說明
對錶訪問方式,表示mysql在表中找到所需行的方式,又稱"訪問型別"
常用的型別有:all、index、range、ref、eq_ref、const、system、null(從左到右,效能從差到好)
all:full table scan,mysql將便利全表以找到匹配的行
index: full index scan , index與all區別為index型別只便利索引樹
range: 只檢索給定範圍的行 , 使用乙個索引引來選擇行
ref: 表示上述表的連線匹配條件 , 即哪些列或常量被用於查詢索引列上的值
1、order by +limit組合的索引優化 , 如果乙個sql語句如:
select
[column1]
,[column2]
,….from
[table
]order
by[sort]
limit
[offset],
[limit
];
這個sql語句優化比較簡單,在[sort]這個欄位上建立索引即可
2、where + order by + limit組合的索引優化
如果乙個sql語句如:
select
[column1]
,[column2]
,….from
[table
]where
[columnx]=[
value
]order
by[sort]
limit
[offset],
[limit
];
這個語句,如果你仍然採用第乙個例子中建立索引的方法,雖然可以用到索引,但是效率不高.
更高效的方法是建立乙個聯合索引(columnx,sort)
3、怎麼加快查詢速度,優化查詢效率,主要原則就是應盡量避免全表掃瞄,英愛考慮在where及order by 設計的列上建立索引.
建立索引不是建的越多越好,原則是:
4、四種索引的使用場景
primary , index , unique 這三種是一類
primary主鍵 . 就是唯一且不能為空
index 索引, 普通的
unique 唯一索引. 不予許有重複.
fulltext是全文索引 , 用於在一篇文章中 , 檢索文字資訊的 .
舉個例子來說 , 比如你在為某商場做乙個會員卡的系統
這個系統有乙個會員表
有下列字段
5、sql查詢注意部分
1. 任何地方都不要使用 select * from t ,用具體的字段列表代替「*」,不要返回用不到的任何字段。
2. 應盡量避免在 where 子句中使用!=或<>操作符,否則將引擎放棄使用索引而進行全表掃瞄。
3. 應盡量避免在 where 子句中對字段進行表示式操作,這將導致引擎放棄使用索引而進行全表掃瞄。如:
select id from t where num/2=100
應改為:
select id from t where num=100*2
4. 應盡量避免在 where 子句中使用 or 來連線條件,否則將導致引擎放棄使用索引而進行全表掃瞄,如:
select id from t where num=10 or num=20
應改為:
select id from t where num=10 union all select id from t where num=20
6、表結構方面優化
2.將常用資訊和不常用資訊分表儲存,比如乙個****的使用者表,使用者的暱稱,頭像,密碼,賬號這類字段用 戶登入就會用到,而使用者的興趣愛好了,喜歡的顏色了這種欄位就分表儲存,相信大家京東賬號中的個人資訊 可能也就在註冊的時候開啟過,以後就再沒注意過了吧。
mysql資料庫索引名 Mysql資料庫索引簡介
1.什麼是索引?資料庫索引是表中的乙個特殊的資料結構,存放的記錄的快速檢索的值,也稱為目錄,被儲存在乙個地方,所以索引是乙個存在的檔案,並不是儲存在記憶體中 索引的存在是為了在查詢時,可以直接通過查詢索引找到那一條記錄所在的位置,而不是逐一的去檢索,大大的提高的查詢的效率 那麼是不是每一列都建立乙個...
Fabric 為CouchDB資料庫建立索引
首先在鏈碼位置建立資料夾meta inf statedb couchdb indexes 新增乙個json檔案如下 ddoc indexownerdoc optional name of the design document in which the index will be created.n...
資料庫建立索引的缺點,和什麼時候不該建立索引
缺點 第一,建立索引和維護索引要耗費時間,這種時間隨著資料 量的增加而增加。第二,索引需要佔物理空間,除了資料表佔資料空間之外,每乙個索引還要佔一定的物理空間,如果要建立聚簇索引,那麼需要的空間就會更大。第三,當對表中的資料進行增加 刪除和修改的時候,索引也要動態的維護,這樣就降低了資料的維護速度。...