-
MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度。
-
索引一般作用于
where
查询条件的字段上。 -
创建索引时,你需要确保该索引是应用在 SQL 查询语句的条件(一般作为
where
子句的条件)。 -
实际上,索引也是一张表,该表保存了主键与索引字段,并指向实体表的记录。
-
索引的好处很多,但过多的使用索引将会造成滥用。因此索引也会有它的缺点:虽然索引大大提高了查询速度,同时却会降低更新表的速度,如对表进行INSERT、UPDATE和DELETE。因为更新表时,MySQL不仅要保存数据,还要保存一下索引文件。
-
建立索引会占用磁盘空间的索引文件。
创建单列索引
CREATE TABLE test (
id INT AUTO_INCREMENT COMMENT '附件id',
fileuploadercode VARCHAR(128) COMMENT '附件上传者code',
projectid INT COMMENT '项目id;此列受project表中的id列约束',
filename VARCHAR (512) COMMENT '附件名',
fileurl VARCHAR (512) COMMENT '附件下载地址',
filesize BIGINT COMMENT '附件大小,单位Byte',
-- 主键本身也是一种索引(注:也可以在上面的创建字段时使该字段主键自增)
PRIMARY KEY (id),
-- 给projectid字段创建了唯一索引(注:也可以在上面的创建字段时使用unique来创建唯一索引)
UNIQUE INDEX (projectid),
-- 给fileuploadercode字段创建普通索引
INDEX (fileuploadercode)
-- 指定使用INNODB存储引擎(该引擎支持事务)、utf8字符编码