普通索引的建立及普通索引的排序

2021-09-07 16:35:51 字數 1544 閱讀 6189

在實際應用索引時,在建表的同時建立索引,即在建表的sql中新增建立索引的sql,應用例項如下:

create table tbl_camera_info (

`cameraid` varchar(

64) not null comment '

鏡頭唯一編號,統一監控平台',

`cameraname` varchar(

128) not null comment '

鏡頭名稱',

`clientid` varchar(

64) not null comment '

所屬客戶編號',

`clientname` varchar(

128) default null comment '

所屬客戶名稱',

`lasttime` datetime not null comment

'最後修改時間',

primary key (`cameraid`,`clientid`)

)engine innodb default charset=utf8 comment='

鏡頭資訊表

';

以上建立的乙個cameraid和clientid的主鍵唯一復合索引。

create table `report_info` (

`id`

int(11) not null auto_increment comment '

自增序列',

`cameraname` varchar(

256) not null comment '

監控點名稱',

`clientname` varchar(

256) not null comment '

客戶名稱',

`platid` varchar(

2) not null comment '

平台id',

`createtime` datetime not null comment

'開戶時間',

`lasttime` datetime not null comment

'最後一次更新時間',

primary key (`id`),

index report_camera_platid(platid asc),

index report_camera_createtime(createtime desc)

) engine=innodb default charset=utf8 comment ='

上報資訊表

';

以上為表建立的為id的主鍵索引,普通索引,並且為普通索引新增了排序的種類。

物理排序是改變記錄存放的物理位置,而索引排序相當於是為一本書增加了

乙個詳細的目錄(這個目錄可以是按所需的要求來決定先後順序的,它記錄的不是

庫中記錄的實際內容,而只是各記錄在庫中的位置。所以,建立索引所需的空間花費

比物理排序要小得多,還有利於防止產生資料冗餘以及由此產生的資料更新時容易

造成的資料的不一致性。

普通索引唯一索引的區別

1 查詢 唯一索引查到滿足條件的資料後直接返回 普通索引查到滿足條件的資料後會繼續匹配下一行是否滿足條件 2 寫唯一索引 需要判斷是否重複,需要將對應的頁從磁碟載入的記憶體中 普通索引 普通索引使用change buffer 占用buffer pool的空間 直接將更新寫入到buffer中,不用讀盤...

mysql復合索引 普通索引總結

mysql復合索引 普通索引總結 對於復合索引 mysql從左到右的使用索引中的字段,乙個查詢可以只使用索引中的一部份,但只能是最左側部分。例如索引是key index a,b,c 可以支援a a,b a,b,c 3種組合進行查詢,但不支援 b,c進行查詢 當最左側欄位是常量引用時,索引就十分有效。...

普通索引 唯一索引 區別

分析唯一索引和普通索引在查詢語句和更新語句中的效能影響。假設執行以下語句 select id from t where k 5這個查詢語句在索引樹上查詢的過程,先是通過 b 樹從樹根開始,按層搜尋到葉子節點,然後可以在資料頁內部通過二分法來定位記錄。以上看起來唯一索引比普通索引少了一步判斷,其實帶來...