索引使用 一點技巧

2021-08-20 00:24:46 字數 464 閱讀 7576

user_info 表中 欄位user_no 建立了索引,而且索引的區分度很高,一直報慢查詢,檢視執行計畫發現一直不走索引。

原因:user_info 表中的user_no 為varchar型別,但是查詢條件中是數值型,這種情況下會導致索引失效,將語句修改為:

select * from user_info a where a.user_no = '59027',索引使用正常了。

一點技巧:無論欄位是int,varchar,查詢條件中的值都加上單引號,當做字串處理即可。也就是值是字串是可以走索引的,如果值是數值型,型別不對時不走索引。

總有想不到的地方,多學多問。

2.索引區分度計算常用方法

select count(distinct user_no)/count(1) from user_info;

user_no 是索引字段,一般區分度達到0.1就可以接受,如果是聯合索引,重點第一欄位的區分度。

一點學習技巧

學習乙個新東西或者說要掌握乙個東西,要先理清他的脈絡,結構,做到心中有數,然後再就揪細節。就像高中時候寫作文一樣,我的文章 都是議 結構基本是一成不變的。總分總,分的中間,又是排比段落,總結,排比段落,總結。確認好主題,就是忘裡面填東西,所以只要有素材,寫作文特別快。同樣的,到了乙個新城市,你想要快...

索引的一點總結

1.索引是一棵b樹 3級索引能容納400萬行資料,4級索引能容納40億行資料。2.表的組織方式有兩種 堆或b樹。當在表上建立乙個聚集索引時,表就組織為乙個b樹 否則就組織為乙個堆。3.聚集索引約佔1 的表大小.非聚集索引佔30 40 表大小,曾見過非聚集索引和資料表一樣大或更大.4.索引碎片 完全沒...

索引的一點總結

1.索引是一棵b樹 3級索引能容納400萬行資料,4級索引能容納40億行資料。2.表的組織方式有兩種 堆或b樹。當在表上建立乙個聚集索引時,表就組織為乙個b樹 否則就組織為乙個堆。3.聚集索引約佔1 的表大小.非聚集索引佔30 40 表大小,曾見過非聚集索引和資料表一樣大或更大.4.索引碎片 完全沒...