索引使用(持續更新)

2021-08-17 03:08:06 字數 1142 閱讀 3734

不是每個欄位都是可以加索引的,比如文字太長的,mysql innodb最大長度是767位元組,不支援全文索引。myisam才支援全文索引

經常使用explain檢視sql執行計畫

單錶查詢

explain select * from test_user  where user_name ="哈哈2017-02-15 14:39:09" 沒加索引之前 231毫秒

create index index_name on test_user(user_name)   加索引之後  2毫秒  

兩表查詢

explain select * from test_user user join test_teacher tracher on  user.foreign_key=tracher.id limit 10,10;  106毫秒

create index index_foreign_key on test_user(foreign_key) 加索引之後  1毫秒 

放棄索引的幾種情況

1.like 全模糊的時候           like "%key%"

2.使用mysql函式               concat(加索引字段,"abc")

3.where對欄位進行null值判斷   key is null

4.where使用了or               key=1 or key1=2

5.where使用不等號             key!=1  key<>1

6.where使用not in             key  not in (1,2,3)

7.全表掃瞄快於索引掃瞄 

8.查詢超過資料的5分之一索引會失效 變成全表掃瞄

例如有索引key(a,b,c)

³where a=xx and b=xx and c=*** 此語句可以用到索引

³where b=xx and a=xx and c=*** 同上,順序沒有關係,同樣能用到索引

³where a=xx and b=xx 可以用到索引

³where a=xx and c=xx 可以用到索引(這個以前一直理解錯了)

³where b=xx and c=xx 用不到索引

³where b=xx 用不到索引

³where c=xx 用不到索引

git使用(持續更新)

做專案時如果不進行版本管理,經常會遇到 修改了,過段時間卻找不到修改的地方。怎麼辦,開始用git來進行管理。在本機上安裝好git之後,建立本地的repository還是比較容易的,在專案所在目錄下,git bash中敲入git init,這樣就初始化了git。具體的一些指令說明如下 1 本地提交 g...

WPF相關文章索引 持續更新中

這個部落格的建立初衷就是為了分享和總結我在wpf方面的所學,此後還會繼續保持更新的。wpf介面設計技巧系列 wpf介面設計技巧 1 不規則窗體 指南 wpf介面設計技巧 2 自定義漂亮的按鈕樣式 wpf介面設計技巧 3 實現不規則動畫按鈕 wpf介面設計技巧 4 自定義列表項樣式 wpf介面設計技巧...

HBase使用優化(持續更新)

這裡只準備介紹我實際操作中遇到的一些使用優化或解決辦法,想大致了解hbase優化的同學可以參考我之前轉載的幾篇博文。1.第乙個我想說的是hbase的寫操作,api層面上的優化 比如批量寫,關閉wal之類的 我這裡就不囉嗦了,我想要說的是rowkey的設計,這個問題一般會跟io的大小息息相關,io越大...