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