网站首页 > 基础教程 正文
前言
从今天开始本系列文章就带各位小伙伴学习数据库技术。数据库技术是Java开发中必不可少的一部分知识内容。也是非常重要的技术。本系列教程由浅入深, 全面讲解数据库体系。 非常适合零基础的小伙伴来学习。
全文大约【1888】字,不说废话,只讲可以让你学到技术、明白原理的纯干货!本文带有丰富案例及配图视频,让你更好的理解和运用文中的技术概念,并可以给你带来具有足够启迪的思考......
一.索引
1. 什么是索引
先来带各位小伙伴了解下索引的好处是什么呢?
那肯定是查询数据块!
通过索引可以快速的查询到想要的数据。MySQL数据库中的索引其实就是一种可以快速获取数据的一种数据结构。在表中除了表中的数据外,数据库系统还维护着满足特定查找算法的数据结构,这种数据结构以某种特定的方式指向数据,这种数据结构就是索引啦。
2. 索引的分类
按照功能分类:
- 普通索引: 最基本的索引,它没有任何限制。
- 唯一索引:索引列的值必须唯一,但允许有空值。如果是组合索引,则列值组合必须唯一。
- 主键索引:一种特殊的唯一索引,不允许有空值。一般在建表时同时创建主键索引。
- 组合索引:顾名思义,就是将单列索引进行组合。
- 外键索引:只有InnoDB引擎支持外键索引,用来保证数据的一致性、完整性和实现级联操作。
- 全文索引:快速匹配全部文档的方式。InnoDB引擎5.6版本后才支持全文索引。MEMORY引擎不支持。
按数据结构分类:
- B+Tree索引 :MySQL使用最频繁的一个索引数据结构,是InnoDB和MyISAM存储引擎默认的索引类型。
- Hash索引 : MySQL中Memory存储引擎默认支持的索引类型。
3. 索引的操作
3.1数据准备
下面我们一起来为演示索引准备一下表结构和数据:
3.2创建索引:
下面是创建索引的语法,我们可以一起来试一试
注意:如果一个表中有一列是主键,那么就会默认为其创建主键索引!(主键列不需要单独创建索引)。
举个栗子:
3.3查看索引
创建完索引后可以进行查看索引,如下:
3.4删除索引
最后是删除索引语法和案例:
4. 索引效率的测试
下面是创建product商品表,并添加100万条数据做测试。
二. 结语
最后在这里对本文核心要点进行总结:
- 索引是提高查询速度的特别有效的工具,建议熟练掌握。
- 请记住各种不同类型的索引,在不同的业务场景选择合适的索引类型使用。
以上就是我们本篇的全部内容,如果感觉对大家有帮助的话,可以【关注】我们~
持续带来更多技术类干货
本文源码及配套资料可以后台dd小千~
更多精彩内容:
更多程序员资讯/技术类干货/IT资讯,关注@千锋教育
猜你喜欢
- 2025-05-10 「工具」三步搞定数据库MySQL卸载
- 2025-05-10 Mysql数据库入门到精通(mysql从入门到精通pdf)
- 2025-05-10 【深入浅出MySQL】「底层原理」InnoDB原理带你从入门到精通
- 2025-05-10 PHP MySQLi基础教程 MySQL 创建数据库
- 2025-05-10 在Windows环境下MySQL命令行备份还原数据库图文教程
- 2025-05-10 PHP和MySQL命令行初级教程(php mysqli)
- 2025-05-10 新手教程系列之《Mysql5.5 Windows10安装》
- 2025-05-10 面试官:MySQL索引底层数据结构原理与性能调优,你能回答多少?
- 2025-05-10 「Qt入门第22篇」 数据库(二)编译MySQL数据库驱动
- 2025-05-10 20《MySQL 教程》UNION 联合查询(mysql联合查询效率)
- 06-18单例模式谁都会,破坏单例模式听说过吗?
- 06-18Objective-c单例模式的正确写法「藏」
- 06-18单例模式介绍(单例模式都有哪些)
- 06-18前端设计-单例模式在实战中的应用技巧
- 06-18PHP之单例模式(php单例模式连接数据库)
- 06-18设计模式:单例模式及C及C++实现示例
- 06-18python的单例模式(单例 python)
- 06-18你认为最简单的单例模式,东西还挺多
- 最近发表
- 标签列表
-
- jsp (69)
- gitpush (78)
- gitreset (66)
- python字典 (67)
- dockercp (63)
- gitclone命令 (63)
- dockersave (62)
- linux命令大全 (65)
- pythonif (86)
- location.href (69)
- dockerexec (65)
- tail-f (79)
- queryselectorall (63)
- location.search (79)
- bootstrap教程 (74)
- 单例 (62)
- linuxgzip (68)
- 字符串连接 (73)
- html标签 (69)
- c++初始化列表 (64)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)