| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> 「Mysql」数据库索引,百万数据测试索引效果 -> 正文阅读 |
|
[大数据]「Mysql」数据库索引,百万数据测试索引效果 |
Mysql官方对索引的定义是:索引(index)是帮助Mysql高效获取数据的数据结构。进而,我们可以知道索引的本质是数据结构。 一、索引的分类
二、使用索引在创建表或者创建之后,都可以给字段增加索引。 比如现在创建一个测试用的表,我先在创建的时候加了前三种类型的索引:
执行sql,创建表成功。这时候我继续增加一个全文索引。
可以查看student表的所有索引SHOW INDEX FROM student; 还有第三种,CREATE INDEX 索引名 on 表(字段),到后面演示。 三、百万数据测试索引效果1. 再来创建个测试表
执行创建成功,现在插入数据。 2. 插入数据
执行可能会出现This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary报错。 如果出现,可以先执行set global log_bin_trust_function_creators=TRUE?,然后再试下。 执行成功后,再执行:
大概持续1分钟左右,别急。 3. 测试查询未加索引 查询一条数据。
多次执行查询,发现花费时间,稳定在0.63s左右,这个从点击执行到看到结果,已经从肉眼可以感知有点慢了。 我们可以增加关键词EXPLAIN分析sql执行的情况。
可以看到这个语句查了99W+条,这都是时间消耗。 添加索引?用上面说的第三种方式,增加一个常规索引。
再重新执行下查询:
查询时间大幅缩短,只需要要0.1s+。 再分析下加了索引后的查询。
只查了一条,精准查询。 三、索引使用原则索引虽然好用,但是不可以滥用,这里有几个原则可以记一下:
以上就是对索引的简单介绍,但是MySQL索引背后的数据结构及算法原理,东西可就多了
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 11:08:56- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |