普通索引的建立及普通索引的排序
原创
©著作权归作者所有:来自51CTO博客作者香吧香Blog的原创作品,请联系作者获取转载授权,否则将追究法律责任
本文为博主原创,转载请注明出处:
在实际应用索引时,在建表的同时建立索引,即在建表的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的主键索引,普通索引,并且为普通索引添加了排序的种类。
物理排序是改变记录存放的物理位置,而索引排序相当于是为一本书增加了
一个详细的目录(这个目录可以是按所需的要求来决定先后顺序的,它记录的不是
库中记录的实际内容,而只是各记录在库中的位置。所以,建立索引所需的空间花费
比物理排序要小得多,还有利于防止产生数据冗余以及由此产生的数据更新时容易
造成的数据的不一致性。