本文为博主原创,转载请注明出处:

      在实际应用索引时,在建表的同时建立索引,即在建表的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的主键索引,普通索引,并且为普通索引添加了排序的种类。

        物理排序是改变记录存放的物理位置,而索引排序相当于是为一本书增加了

一个详细的目录(这个目录可以是按所需的要求来决定先后顺序的,它记录的不是

库中记录的实际内容,而只是各记录在库中的位置。所以,建立索引所需的空间花费

比物理排序要小得多,还有利于防止产生数据冗余以及由此产生的数据更新时容易

造成的数据的不一致性。