问题分析:为什么查询变慢呢?
接上期,我们知道了MySQL查询的全过程,也知道了整个过程的瓶颈在于磁盘IO,那怎么降低磁盘IO次数呢?
2024年10月08日
接上期,我们知道了MySQL查询的全过程,也知道了整个过程的瓶颈在于磁盘IO,那怎么降低磁盘IO次数呢?
2024年10月08日
MySQL索引是数据库中用于提高数据检索效率的重要技术。它通过在数据表列上创建索引结构,如B+Tree、Hash索引等,加速查询速度。索引类型包括主键索引、唯一索引、普通索引、全文索引、空间索引等,各适用于不同的查询场景。合理设计索引可以显著提升数据库性能,但过多索引也会导致维护成本增加和写操作变慢。索引优化需考虑查询模式、数据量和存储引擎特性。
2024年10月08日
上善若水。水善利万物而不争,处众人之所恶,故几于道。
居善地,心善渊,与善仁,言善信,政善治,事善能,动善时。
夫唯不争,故无尤。
2024年10月08日
索引:提取索引的创建在的表上字段中的数据,构建出一个独特的数据结构;
索引的作用:加速查询操作;副作用:降低写操作性能;
表中数据子集:把表中某个或某些字段的数据提取出来另存为一个特定数据结构组织的数据;
某个字段或某些字段:WHERE子句中用到的字段;
索引类型:B+ TREE,HASH,B- TREE
B+ TREE:顺序存储,每一个叶子结点到根结点的距离相同;左前缀索引,适合于范围类型的数据查询;(mysql默认索引)
2024年10月08日
查看索引:
show index from 表名;
增加索引:
ALTER TABLE `表名` ADD INDEX 索引名( `dt` ) ;
删除索引:
ALTER TABLE `表名` drop index `index_name`;
2024年10月08日
首先我们来聊一聊关于MYsql的索引:
mysql的索引类似大学图书馆建书目索引,其目的是为了提高数据检索的效率,降低数据库的IO成本。MySQL在300万条记录左右性能开始逐渐下降,虽然官方文档的定义在500~800w条左右,所以在大数据量的情况下建立索引是非常有必要的。MySQL提供了Explain,用于显示SQL执行的详细信息,可以进行索引的优化。
2024年10月08日
MySQL 索引的原理与应用:索引类型,存储结构与锁
在 数据结构与算法--索引 https://url.wx-coder.cn/O07eI 一节中,我们讨论了 B+Tree, LSM-Tree 这样的文件索引以及全文索引的基础算法,本文则会针对文件索引在关系型数据库中的实际应用进行探讨。
索引(Index)是帮助数据库系统高效获取数据的数据结构,而数据库索引本质上是以增加额外的写操作,与用于维护索引数据结构的存储空间为代价的,用于提升数据库中数据检索效率的数据结构。索引可以帮助我们快速地定位到数据而不需要每次搜索的时候都遍历数据库中的每一行。当然,索引不是建立的越多、越长越好,因为索引除了占用空间之外,对后续数据库的增加、删除、修改都有额外的操作来更新索引。一般来说,小表使用全表扫描更快,中大表才使用索引,而超级大表索引基本无效,我们可能需要借助独立的全文索引系统;MySQL 自带的全文索引只能用于 InnoDB、MyISAM ,并且只能对英文进行全文检索,一般使用 ES,Solr 这样的全文索引引擎。
2024年10月08日
索引优化的目的主要是让索引不失效,走正确的索引,今天主要分享的是最近整理的索引八大法则上篇,看完的话面试考索引应该没问题了~
下面主要以实验来帮助大家理解~
1、定义
在创建了多列索引的情况下,查询从索引的最左前列开始且不能跳过索引中的列。
2024年10月08日
索引的原理类似于书的目录结构,通过目录可以快速地定位到对应的章节,而不需要从头到尾翻阅每一页去查找。它会提前对设定的索引列进行排序和组织,形成一个类似于目录的结构,这样在查询的时候,利用二分法或其他算法,快速的检索到对应的数据,而不需要遍历整个表数据。