索引分三類:
index ----普通的索引,資料可以重複
unique ----唯一索引,唯一索引,要求所有記錄都唯一
primary key ----主鍵索引,也就是在唯一索引的基礎上相應的列必須為主鍵
mysql 中會對 <,<=,=,>,>=,between,in 以及不以% _
開頭的like 語句使用索引。
大量資料匯入的時候,去掉索引 => 匯入資料 =>加上索引(速度提公升明顯)
1,在經常用作過濾器的字段上面建立索引;
2,在sql語句
order by ,group by
上面建立索引
3,在不同值比較少的字段上不必要建立索引,如:性別
4,對於經常訪問的列避免建立索引,
5,用於鏈結的列,(主
/外 鍵)上建立索引
6. 在經常訪問的多個列上建立復合索引,
但要注意復合索引的建立順序要按照使用的頻度來確定;
7. 索引列不能為null ,不要計算
8. 盡可能擴充套件索引,表中已有a欄位索引,現在需要增加b欄位,在原有基礎上修改索引(a,b)即可
9. 可以使用短索引
假設,如果有乙個資料型別為char(255)的列,在前10個或20個字元內,絕大部分資料的值是唯一的,那麼就不要對整個列進行索引。短索引不僅可以提高查詢速度而且可以節省i/o操作。
建立索引的字段長度可以精細
1,最左字首匹配原則
。這是非常重要、非常重要、非常重要(重要的事情說三遍)的原則,mysql會一直向右匹配直到遇到範圍查詢(>,<,between,like
)就停止匹配,比如: a = 1 and b = 2 and c > 3 and d = 4,如果建立 (a,b,c,d
)順序的索引,d是用不到索引的,如果建立(a,b,d,c)的索引,則都可以用到,a,b,d的順序可以任意調整。
一點感想總結
這兩天總有個習慣,早早的起來讀散文,深深的感覺到那散文上文字的美,不知不覺就在那優美的語句中感受那種超然的意境了。只是,很多時候,感覺是乙個人在走著自己的路,靜靜地體驗著那蕭索的美。一段時間以來,都沒有好好的讀書學習了,心裡感覺很內疚,很矛盾 一方面,想著要好好的振作起來,不能就這樣 浪費自己的時間...
fstream 一點總結
新增標頭檔案 include 顯示開啟 fstream file1 第乙個引數為開啟檔名稱,第二個引數為開啟檔案方式,開啟方式可以用 來相互組合。在open函式後輸入第三引數,表示開啟檔案屬性,用 或 組合。file1.open input.txt ios in,0 0 普通檔案,開啟操作 1 唯讀...
mysql一點經驗
今天看了下mysql5的英文手冊,雖然只看了一點點,還是要分享一下其中比較實用的東西。為了方便大家學習,舉出下面給出一些例子。大家看著用就行了。特別是被很多程式設計師忽略的mysql變數,那可真是個好東西呀。1 時間操作 表名 table 字段 birth 格式1989 05 13 根據年紀計算歲數...