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