首页 > 数据库 >mysql添加索引的方法(Navicat可视化加索引和sql语句加索引)

mysql添加索引的方法(Navicat可视化加索引和sql语句加索引)

时间:2023-08-14 22:36:27浏览次数:34  
标签:name sql Navicat 索引 添加 table TABLE ALTER

mysql添加索引的方法(Navicat可视化加索引和sql语句加索引)

 

使用索引的场景:

阿里云日志里出现了慢sql 

然后发现publish_works_id字段会经常用于一些关联,所以决定把这个字段加上索引,优化sql

可视化navicat操作字段加索引,选择字段所在的表,第一步:右键->设计表

第二步:点击索引

 第三步:添加索引

 

 

下面是通过sql语句添加索引的方法:

1、普通索引

普通索引是最基本的索引,它没有任何限制,值可以为空;仅加速查询。可以通过以下几种方式来创建或删除:

1)、直接创建索引

CREATE INDEX index_name ON table(column(length))

2)、修改表结构的方式添加索引

 

 

ALTER TABLE table_name ADD INDEX index_name ON (column(length))

3)、删除索引

DROP INDEX index_name ON table

2、唯一索引

唯一索引与普通索引类似,不同的就是:索引列的值必须唯一,但允许有空值。如果是组合索引,则列值的组合必须唯一。简单来说:唯一索引是加速查询 + 列值唯一(可以有null)。以通过以下几种方式来创建:

1)、创建唯一索引

CREATE UNIQUE INDEX indexName ON table(column(length))

2)、修改表结构

ALTER TABLE table_name ADD UNIQUE indexName ON (column(length))

3、主键索引

主键索引是一种特殊的唯一索引,一个表只能有一个主键,不允许有空值。简单来说:主键索引是加速查询 + 列值唯一(不可以有null)+ 表中只有一个。

一般是在建表的时候同时创建主键索引:

CREATE TABLE mytable( ID INT NOT NULL, username VARCHAR(16) NOT NULL, PRIMARY KEY(ID) );

当然也可以用 ALTER 命令。记住:一个表只能有一个主键。

4、组合索引

组合索引指在多个字段上创建的索引,只有在查询条件中使用了创建索引时的第一个字段,索引才会被使用。使用组合索引时遵循最左前缀集合。

可以说:组合索引是多列值组成的一个索引,专门用于组合搜索,其效率大于索引合并。

ALTER TABLE `table` ADD INDEX name_city_age (name,city,age);

5、全文索引

全文索引主要用来查找文本中的关键字,而不是直接与索引中的值相比较。fulltext索引跟其它索引大不相同,它更像是一个搜索引擎,而不是简单的where语句的参数匹配。fulltext索引配合match against操作使用,而不是一般的where语句加like。它可以在create table,alter table ,create index使用,不过目前只有char、varchar,text 列上可以创建全文索引。值得一提的是,在数据量较大时候,现将数据放入一个没有全局索引的表中,然后再用CREATE index创建fulltext索引,要比先为一张表建立fulltext然后再将数据写入的速度快很多。

1)、创建表的适合添加全文索引

复制代码

CREATE TABLE `table` (`id` int(11) NOT NULL AUTO_INCREMENT ,`title` char(255) CHARACTER NOT NULL ,`content` text CHARACTER NULL ,`time` int(10) NULL DEFAULT NULL ,PRIMARY KEY (`id`),FULLTEXT (content));

复制代码

2)、修改表结构添加全文索引

ALTER TABLE article ADD FULLTEXT index_content(content)

3)、直接创建索引

CREATE FULLTEXT INDEX index_content ON article(content)

1.添加PRIMARY KEY(主键索引)

ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` )

2.添加UNIQUE(唯一索引)

ALTER TABLE `table_name` ADD UNIQUE (`column`)

3.添加INDEX(普通索引)

ALTER TABLE `table_name` ADD INDEX index_name ( `column` )

4.添加FULLTEXT(全文索引)

ALTER TABLE `table_name` ADD FULLTEXT (`column`)

标签:name,sql,Navicat,索引,添加,table,TABLE,ALTER
From: https://www.cnblogs.com/lhboke/p/17629962.html

相关文章

  • Zabbix监控Mysql主从
    一、主机规划服务器IPzabbix-server192.168.131.12mysql-master,zabbix-agent192.168.131.13mysql-slave,zabbix-agent192.168.131.14二、部署&配置zabbix-server2.1部署zabbix#安装Zabbix仓库。这里部署zabbix6.4wgethttps://repo.zabbix.com/zabbix/6.4/ubuntu/pool/main/z/zabb......
  • Mysql配置文件设置与了解
    [client]port=3306[mysql]default-character-set=gbk[mysqld]port=3306socket=/tmp/mysql.sock#设置mysql的安装目录basedir=F:\\HzqSoft\\MySqlServer51GA#设置mysql数据库的数据的存放目录,必须是data,或者是\\xxx-datadatadir=F:\\HzqSoft\\MyS......
  • WEEK08:MYSQL备份及恢复
    ......
  • 开源数据库Mysql_DBA运维实战 (DCL/日志)
    SQL(StructuredQueryLanguage即结构化查询语言)a.DDL语句 数据库定义语言:数据库,表,视图,索引,存储过程,函数,创建删除ALTER(CREATEDROPALTER) b.DML语句数据库操纵语言:插入数据INSERT、删除数据DELETE、更新数据UPDATEc.DQL语句 数据库查询语言:查询数据SELECTd.DCL语句数......
  • MySQL 使用表的自联结,lag,lead得到该行记录所在连续段长度
    目录题目地址代码题目地址https://leetcode.cn/problems/human-traffic-of-stadium/description/代码##WriteyourMySQLquerystatementbelow##本质上就是连续签到问题呗#SELECTVersion()#8.0.33,用户变量编程用不了witht1as(SELECT*fromstadium......
  • windows10下SQL Server2019安装
    1、下载安装包后,管理员身份执行                 备注:取消poly后:          控制器名称:SQLSERVER2019C    等待~~~  需要安装管理工具:   具体可参考:sqlserver2019安装后没......
  • MySQL 可重复读边查边插,边删边查
    测试1:边查边插1--会话1查询select*fromt_sjq--431576--会话2INSERT一行,没有阻塞--会话1再次查询,多了一条select*fromt_sjq--431577测试1:边查边插2--会话1查询select*fromt_sjq--423577(会执行十几秒)--会话2会话1执行开始后马上插入1000条数据-......
  • sql server sqlbulkcopy 批量数据插入数据库
     SqlBulkCopyOptions介绍 SqlBulkCopy位于位于命名空间System.Data.SqlClient下,主要功能是把其他数据源(数据行DataRow,数据表DataTable,数据读取器IDataReader等)的数据有效批量的导入到SQLServer表中的功能。类似与MicrosoftSQLServer包中名为bcp的命令行应用程序。但......
  • Hedisql基本操作
    要求HeidiSQL在Windows10和11上运行良好(在Windows7+8上运行有一些小问题)。目前在Wine上运行HeidiSQL相当不稳定。安装HeidiSQL的正常方法是从下载页面下载发行版安装程序。安装后,您可以直接从下载页面或通过HeidiSQL本身下载夜间版......
  • NLP、炼丹技巧和基础理论文章索引
    玩家你好恭喜你捡到了一个来自上古时期的*七*星*炼*丹*炉*,只见炉壁上镶嵌着自然语言处理、推荐系统、信息检索、深度炼丹、机器学习、数学与基础算法等失传已久的江湖秘术。熔炉中虽然已有一层厚厚尘土,却依然掩盖不住尘埃下那一颗颗躁动不安的仙丹。ps:喂喂喂,你萌不要只收藏不......