索引操作

简介: 索引操作

一个人的礼貌是一面照出他的肖像的镜子。——歌德

自己整理的mysql对于索引操作的sql

CREATE TABLE `user` (
  -- 创建表时指定主键索引
  `id` BIGINT ( 20 ) PRIMARY KEY NOT NULL COMMENT '主键',
  `gmt_create` datetime ( 0 ) NOT NULL COMMENT '创建时间',
  `gmt_modified` datetime ( 0 ) NOT NULL COMMENT '修改时间',
  `is_delete` TINYINT ( 1 ) NOT NULL DEFAULT 0 COMMENT '逻辑删除字段',
  `username` VARCHAR ( 32 ) CHARACTER 
  SET utf8mb4 COLLATE utf8mb4_general_ci UNIQUE DEFAULT NULL COMMENT '用户名',
  `password` VARCHAR ( 32 ) CHARACTER 
  SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '密码',
  `mobile` INT ( 11 ) DEFAULT NULL COMMENT '手机号',
  -- 创建表时顺带创建索引
  INDEX `idx_gmt_create` ( `gmt_create` DESC ) USING BTREE COMMENT '创建日期检索索引' 
);
-- 删除索引
DROP INDEX `username` ON `user`;
-- 创建唯一索引并指定长度
CREATE UNIQUE INDEX `idx_username` USING BTREE ON `user` (`username` ( 16 ));
-- 创建普通索引并指定降序
ALTER TABLE `user` ADD INDEX `idx_gmt_modified` ( `gmt_modified` DESC ) USING BTREE COMMENT '修改日期索引';
-- 创建唯一索引
ALTER TABLE `user` ADD UNIQUE `uk_mobile` ( `mobile` ) USING BTREE;
-- 创建主键索引
ALTER TABLE `user` ADD PRIMARY KEY `pk_username` ( `username` ) USING BTREE;
-- 创建全文索引
ALTER TABLE `user` ADD FULLTEXT `fx_username`(`username`);
-- 创建联合索引
ALTER TABLE `user` ADD UNIQUE `idx_id_username`(`id`,`username`) USING BTREE;
-- 创建联合唯一索引
ALTER TABLE `user` ADD UNIQUE `uk_username_mobile`(`username`,`mobile`) USING BTREE;
-- 删除索引
ALTER TABLE `user` DROP INDEX `fx_username`;
-- 删除主键索引
ALTER TABLE `user` DROP PRIMARY KEY;
-- 查看索引
SHOW INDEX FROM `user`;
SHOW KEYS FROM `user`;

注意阿里Java手册中对于索引命名的规约

五(一)5.【强制】主键索引名为 pk_字段名;唯一索引名为 uk_字段名;普通索引名则为 idx_字段名。

说明:pk_ 即 primary key;uk_ 即 unique key;idx_ 即 index 的简称。

相关文章
|
8月前
|
存储 人工智能 测试技术
唯一索引比普通索引快吗?运行原理是什么?
唯一索引比普通索引快吗?运行原理是什么?
74 0
|
11月前
|
SQL 关系型数据库 MySQL
表索引——隐藏索引和删除索引
前言 MySQL 8开始支持隐藏索引。隐藏索引提供了更人性化的数据库操作。
|
12月前
|
存储 索引
为什么范围后索引会失效 存储引擎不能使用索引中范围条件右边的列
比如说有三个字段 a b c,建立复合索引a_b_c。此时叶子节点的数据排序后可能为
70 0
|
存储 NoSQL 算法
数据索引
数据索引
测试关于索引的操作-创建索引
测试关于索引的操作-创建索引
测试关于索引的操作- 修改索引
测试关于索引的操作- 修改索引
|
存储 算法 搜索推荐
②MySQL的索引(普通索引、唯一索引,主键索引、组合索引、全文索引、空间索引)相关操作
MySQL的索引(普通索引、唯一索引,主键索引、组合索引、全文索引、空间索引)相关操作
233 0
②MySQL的索引(普通索引、唯一索引,主键索引、组合索引、全文索引、空间索引)相关操作
|
存储 算法 关系型数据库
①MySQL的索引(普通索引、唯一索引,主键索引、组合索引、全文索引、空间索引)相关操作
MySQL的索引(普通索引、唯一索引,主键索引、组合索引、全文索引、空间索引)相关操作
112 0
①MySQL的索引(普通索引、唯一索引,主键索引、组合索引、全文索引、空间索引)相关操作
|
关系型数据库 MySQL 数据库
创建索引,这些知识应该了解
在 MySQL 中,基本上每个表都会有索引,有时候也需要根据不同的业务场景添加不同的索引。索引的建立对于数据库高效运行是很重要的,本篇文章将介绍下创建索引相关知识及注意事项。
120 0