2024年4月5日发(作者:)
在 MySQL 官方提到,改善操作性能的最佳方法 SELECT 在查询中测试的
一个或多个列上创建索引。索引条目的作用类似于指向表行的指针,从而使查
询可以快速确定哪些行与WHERE子句中的条件匹配,并检索这些行的其他列
值。所有MySQL数据类型都可以建立索引。
尽管可能会为查询中使用的每个可能的列创建索引,但不必要的索引会浪
费空间和时间,使MySQL难以确定要使用的索引。索引还会增加插入,更新
和删除的成本,因为必须更新每个索引。您必须找到适当的平衡,才能使用最
佳索引集来实现快速查询。
MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数
据的数据结构。索引的本质:索引是数据结构。
另外,阿里巴巴《Java 开发手册》提出单表行数超过 500 万行或者单表容量
超过 2GB,才推荐进行分库分表。对此,有阿里的黄金铁律支撑,所以,很多
人设计大数据存储时,多会以此为标准,进行分表操作。
以及,阿里巴巴《Java 开发手册》补充到:如果预计三年后的数据量根本达不
到这个级别,请不要在创建表时就分库分表。
为了更深入理解索引的本质,这里我们先了解一下磁盘相关知识。
外存储器-磁盘
计算机一般有两种存储的方式:内存储器(main memory)和外存储器(external
memory)
•
内存:读写速度非常快,但是容量很小,而且造价非常贵,在不通电的情
况下会数据会丢失,不能长期存储数据;
•
外存:磁盘是相对常见的外存储设备,它是以存取时间变化不大为特征
的。可以直接存取任何字符组,且容量大、速度较其它外存设备更快。
磁盘的构造
磁盘是一个扁平的圆盘(与电唱机的唱片类似)。盘面上有许多称为磁道的圆
圈,数据就记录在这些磁道上。磁盘可以是单片的,也可以是由若干盘片组成
的盘组,每一盘片上有两个面。
当磁盘驱动器执行读/写功能时。盘片装在一个主轴上,并绕主轴高速旋转,当
磁道在读/写头(又叫磁头) 下通过时,就可以进行数据的读/写了。
一般磁盘分为固定头盘(磁头固定)和活动头盘。
固定头盘的每一个磁道上都有独立的磁头,它是固定不动的,专门负责这一磁
道上数据的读/写。
活动头盘的磁头是可移动的。每一个盘面上只有一个磁头(磁头是双向的,因此
正反盘面都能读写)。它可以从该面的一个磁道移动到另一个磁道,所有磁头都
装在同一个动臂上,因此不同盘面上的所有磁头都是同时移动的(行动整齐划
一),当盘片绕主轴旋转的时候,磁头与旋转的盘片形成一个圆柱体,各个盘面
发布者:admin,转转请注明出处:http://www.yc00.com/web/1712295003a2036461.html
评论列表(0条)