索引是做什麼的?
索引用於快速找出在某個列中有一特定值的行。不使用索引,mysql必須從第1條記錄開始然後讀完整個表直到找出相關的行。
表越大,花費的時間越多。如果表中查詢的列有乙個索引,mysql能快速到達乙個位置去搜尋到資料檔案的中間,沒有必要看所有資料。
大多數mysql索引(primary key、unique、index和fulltext)在b樹中儲存。只是空間列型別的索引使用r-樹,並且memory表還支援hash索引。
大多數情況下索引能大幅度提高查詢效率,但:
資料的變更(增刪改)都需要維護索引,因此更多的索引意味著更多的維護成本
更多的索引意味著也需要更多的空間 (一本100頁的書,卻有50頁目錄?)
過小的表,建索引可能會更慢哦 :) (讀個2頁的宣傳手冊,你還先去找目錄?)
注意:儘量減少like查詢,但是也不是絕對不可用,***%是可以用到索引的。
除了like,以下操作符也可以用到索引:
<,<=,=,>,>=,between,in
這些用不到索引:
<>,not in,!=
索引包含了所需的全部值的話,就只select 他們,換言之,只select 需要用到的字段,如無必要,可盡量避免select *
git 需要了解的幾個命令
git initgit add git commit m this is 注釋 ssh keygen t rsa c youremail example.com git remote add origingit checkout b developgit push origin developgit...
mysql索引必須了解的幾個重要問題
1 索引是幹什麼的?索引用於快速找出在某個列中有一特定值的行。不使用索引,mysql必須從第一條記錄開始讀完整個表直到找出相關的行。表越大,花費的時間越多。如果表中查詢的列有乙個索引,mysql能快速到達乙個位置搜尋到資料檔案的中間,沒有必要檢視所有資料。大多數mysql的索引 primary ke...
mysql索引必須了解的幾個重要問題
1 索引是做什麼的?索引用於快速找出在某個列中有一特定值的行。不使用索引,mysql必須從第1條記錄開始然後讀完整個表直到找出相關的行。表越大,花費的時間越多。如果表中查詢的列有乙個索引,mysql能快速到達乙個位置去搜尋到資料檔案的中間,沒有必要看所有資料。大多數mysql索引 primary k...