MYSQL-索引的使用

限时加码!20+主流AI编程工具免费用 购周边加赠Coding Plan Lite,Claude Code、Cursor等即刻畅享,学习进阶更高效! 阅读详情

一、索引的原理

采用二叉树的原理
在这里插入图片描述
没有索引的话

select * from emp where id = 9
//进行全表扫描,查询速度慢

二、索引的类型

1、主键索引,主键自动的为主索引(类型Primary Key)

create table t1(
id int primary key, //--主键,同时也是索引,称为主键索引
name varchar(32);

2、唯一索引(UNIQUE)

create table t2(
id int unique,//id是唯一的,同时也是索引,称为unique索引
name varchar(32);
)

3、普通索引(INDEX)

4、全文索引(FULLTEXT)【适用于MyISAM】一般开发,不使用mysql自带的全文索引,而是使用:全文搜索Solr和ElasticSearch(ES)

三、索引的使用

create  table t3(
id int,
name varchar(32);
)

1、查询列表是否有索引

SHOW INDEXES FROM t3;

2、添加唯一索引

create unique index id_index on t3(id);

3、添加普通索引①

create  index id_index on t3(id);

添加普通索引②

alter table t3 add index id_index (id)

4、添加主键索引

alter table t3 add primary key (id)

5、删除索引

DROP INDEX id_index ON t3

6、删除主键索引

ALTER TABLE t3 DROP PRIMARY KEY 

7、修改索引(先删除、再添加新的索引)

四、总结

1、较为频繁作为查询条件字段的应该添加索引
2、唯一性太差的字段不适合单独创建索引,即使频繁作为查询条件
3、更新非常频繁的 字段不适合创建索引
4、不会出现在where 子句中的字段不该创建索引

华为防火墙USG6000V---内网访问外网---外网访问内网服务器(NAT服务器)示例配置 华为防火墙USG6000V示例配置,展示了访问防火墙、内网服务器、外网和外网访问内网服务器(NAT服务器)的配置。 阅读详情

相关推荐

Jasper Report使用JSON数据源创建报表

最近在做一个项目小功能,表单结案要生成PDF报表。 起初,想用HTML模板(art-template模板引擎)编写,利用浏览器的打印功能保存成pdf文件下载。但是HTML编写好的模板,页码、页眉、页脚设置有坑,表单内容中的表格较多,表格不能设置跨页,导致跨页的表格内容与页眉重叠,没能解决这个问题。 于是,转战研究Jasper report生成报表,用更加专业的报表生成工具来做。刚开始,也是跌跌撞撞,遇到了很多问题,因为觉得没有退路了,必须要用这个搞出来,所以就硬着头皮去找各种资料。 主要使用的json

xiaogege2012的专栏 3292

mysql 删除表数据_mysql数据库如何快速获得库中无主键的表

概述总结一下MySQL数据库查看无主键表的一些sql,一起来看看吧~1、查看表主键信息--查看表主键信息 SELECT t.TABLE_NAME, t.CONSTRAINT_TYPE, c.COLUMN_NAME, c.ORDINAL_POSITION FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS AS t, INFORMATION_SCHEMA.KEY_CO...

weixin_39743369的博客 398

【推荐系统】推荐算法:冷启动-召回-粗排-精排-重排 解读

【推荐系统】推荐算法:冷启动-召回-粗排-精排-重排 解读

Danger的博客 3724

数据库查看唯一索引方式

1.mysql 唯一索引查看: show index from 表名; mysql 查哪些表建了唯一索引 select a.table_id,a.name,b.name,b.type from information_schema.INNODB_SYS_TABLES a left outer join information_schema.INNODB_SYS_INDEXES b on a.table_id=b.table_id and b.type in (2) where a.name like ..

baidu_31295661的博客 7209

MYSQL 索引用法

类似地,在SQL使用MySQL部分自带函数,索引将失效,同时将无法使用 MySQL的 QueryCache,比如 LEFT(),SUBSTR(), TO_DAYS()DATE_FORMAT(), 等,如果使用了 OR 或 IN,索引也将失效。这里的索引名字是创建索引时指定的索引昵称;尽量避免使用 GROUP BY、DISTINCT、OR、IN等语句的使用,避免使用联表查询和子查询,因为将使执行效率大大下降能够使用索引的字段尽量进行有效的合理排列,如果使用了联合索引,请注意提取字段的前后顺序。

2301_78145669的博客 771

mysql索引使用详解

MySQL索引

Wn1999的博客 2066

Mysql索引的应用

MySQL索引的应用

DTY9999的博客 8162

MySQL索引原理及使用

B+树、B-树、哈希、Mysql索引、硬盘IO原理、索引优化、Mysql索引使用、组合索引使用原则,最左原则

糖拌西红柿 1531

MySQL怎么决定使用哪个索引_MySQL 是如何利用索引

阅读本文大概需要 4 分钟。一、前言在 MySQL 中进行 SQL 优化的时候,经常会在一些情况下,对 MySQL 能否利用索引有一些迷惑。例如:MySQL 在遇到范围查询条件的时候就停止匹配了,那么到底是哪些范围条件?MySQL 在 LIKE 进行模糊匹配的时候又是如何利用索引的呢?MySQL 到底在怎么样的情况下能够利用索引进行排序?今天,我将会用一个模型,把这些问题都一一解答,让你对 MyS...

weixin_30391889的博客 2524

MySQL如何使用索引

MySQL如何使用索引索引用于快速找出在某个列中有一特定值的行。对相关列使用索引是提高 SELECT 操作 性能的最佳途径。 查询要使用索引最主要的条件是查询条件中需要使用索引关键字,如果是多列索引,那 么只有查询条件使用了多列关键字最左边的前缀时,才可以使用索引,否则将不能使用索引。 1.使用索引MySQL 中,下列几种情况下有可能使用索引。 (1)对于创建的多列索引,只要查询的条件中用到了最左边的列,索引一般就会被使用, 举例说明如下。 首先按company_id,moneys的顺序创建一

felix 1621

MySQL索引使用

MySQL索引分类及应用摘要 MySQL索引主要分为: 基础索引类型:主键索引、唯一索引、常规索引、全文索引 存储形式分类:聚集索引(主键索引)和二级索引(非聚簇索引) 数据结构分类:B+树索引(默认)、哈希索引、倒排索引、R-索引 关键特点: 聚集索引存储完整数据行,二级索引仅存储主键值 回表查询:通过二级索引找到主键后再到聚集索引获取数据 索引优化需结合SQL执行频率分析,可通过慢查询日志定位性能问题 应用建议: 高频查询字段建议创建索引 避免不必要的回表查询

yixin896522的博客 971

MySql 组合索引使用

测试Mysql组合索引在不同的查询条件组合下的索引使用情况。当有a+b+c 3个字的的组合索引时,按照MySql 的左匹配原则,a+b+c,a+b,a 是满足左匹配原则,肯定是会走索引的,但是其他的场景,比如a+c, b+c, b+a, b+a+c 等是否仍会走索引呢?

飞一站的博客 1450

mysql索引使用规范_MySQL索引使用规则

只要满足”覆盖索引原则“或”左缀原则“中的任意一个,都可使用索引。表结构CREATE TABLE `t1` (`id` int(11) NOT NULL AUTO_INCREMENT,`a` int(11) DEFAULT NULL,`d` int(11) DEFAULT NULL,`c` int(11) DEFAULT NULL,`b` int(11) DEFAULT NULL,PRIMARY ...

weixin_42099814的博客 186

mysql创建主键索引的关键字使用_mysql索引的创建,测试,使用

1、分类MySQL索引分为普通索引、唯一索引、主键索引、组合索引、全文索引索引不会包含有null值的列,索引项可以为null(唯一索引、组合索引等),但是只要列中有null值就不会被包含在索引中。(0)创建表:create tabletest(id1int,id2int,id3int,id4int);(1)创建普通索引:create index index_name on table(colum...

weixin_30114439的博客 2087

Mysql索引创建和使用

Mysql索引创建和使用索引

konmor的博客 2243

MySQL索引02——使用索引

MySQL——使用索引

2401_83595513的博客 1966

Mysql如何使用索引

基本概念 索引是一种特殊的文件,按照某种算法记录了数据库表中数据的关键信息,通过查找该文件,能达到降低查询时间的目的。 索引用于快速找出某列中有特定值的行,不使用索引MySQL必须从第一条记录开始完整读表,知道找出相关的行,表越大,查询的数据所花费的时间就越多,如果表中查询的列有一个索引MySQL能快速的到达一个位置去搜索数据文件,而不必查看所有的数据,那么将会节省很大一部分时间。 索引存储类...

见习程序员的成长之路! 752

MySql索引使用

MySQL 中,索引的优先级是根据查询优化器的选择逻辑来确定的,它会根据查询的复杂性、表的大小和索引的统计信息等因素来评估索引使用。3,复合索引:如果查询条件中包含了多个列的条件,并且这些列上存在复合索引,那么优化器有可能会选择这个复合索引来执行查询。5,定期审查和优化索引:随着数据的变化和查询需求的变化,你可能需要调整或删除一些不再需要的索引。2,范围匹配索引:如果查询条件中包含了针对某个列的范围查询(如大于、小于、区间等),并且这个列上存在索引,那么优化器有可能会选择该索引来执行查询。

weixin_49200545的博客 1060

MySQL 索引使用

本篇主要介绍MySQL索引使用的相关内容。

qq_66292058的博客 1054

mysql 数据索引使用,MySQL索引怎么使用

MySQL索引怎么使用发布时间:2020-12-14 09:59:48来源:亿速云阅读:70作者:小新小编给大家分享一下MySQL索引怎么使用,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!MySQL索引使用实例一. 慢查询日志二. 查询分析器——explain三. 索引的基本使用四. 复合索引五. 覆盖索引一. 慢查询日志//查看是否开启慢查询日志mysql>showva...

weixin_39524703的博客 163

mysql 制定索引_MySQL索引以及正确使用索引

一、MySQL中常见索引类型普通索引:仅加速查询主键索引:加速查询、列值唯一、表中只有一个(不可有null)唯一索引:加速查询、列值唯一(可以有null)组合索引:多列值组成一个索引,专门用于组合搜索,其效率大于索引合并索引合并:使用多个单列索引组合搜索。覆盖索引:select的数据列只用从索引中就能够取得,不必读取数据行;换句话说,查询列要被所建的索引覆盖。普通索引--创建表同时添加name字段...

weixin_42104366的博客 421
上一篇: redis中雪崩、击穿、穿透
下一篇: MYSQL-事务/隔离级别/ACID
xh_yj
博客等级 码龄6年 3粉丝 39原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值