第七节 MySQL索引的创建和使用

亮子 2024-07-30 08:49:09 6607 0 0 0

1、通过建表的时候,创建索引

CREATE TABLE tb_proj (
	id INT AUTO_INCREMENT COMMENT '附件id',
	filecode 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 (filecode),
  -- 创建复合索引
  INDEX (filename,fileurl)
  
	-- 指定使用INNODB存储引擎(该引擎支持事务)、utf8字符编码
) ENGINE = INNODB DEFAULT CHARSET = utf8 COMMENT '项目附件表';

2、通过SQL语句手动创建索引

  • 创建唯一索引
ALTER TABLE tb_proj ADD UNIQUE INDEX (filecode);
  • 创建复合索引
ALTER TABLE tb_proj ADD INDEX (filename, fileurl);

3、查看已经创建的索引

-- 查看已创建的索引:
show index from tb_proj;

4、删除索引

  • 方式1
-- 删除索引
drop index filename on tb_proj;
  • 方式2
alter table tb_proj drop index filecode;

参考文章