百科狗-知识改变命运!
--

mysql的分区表和索引对查询性能优化有何区别

桃子1年前 (2023-12-16)阅读数 4#综合百科
文章标签索引组合

谈点我的看法

分区表:可以想象为磁盘的多个分区一样,可以减少全盘扫描的可能。直接定位到某个分区表上

mysql的分区表和索引对查询性能优化有何区别

类似要在电脑上找文件,直接到c盘,防止在D E F盘扫描一样,从而减少io压力,提升性能。在查询上分区表表现还不是十分突出,但是删除,作数据迁移的时候就很明显了。

索引:索引在查询上可以快速定位符合要求的纪录,查询通过索引,也可以防止全表扫描,类似直接定位excel里面的行号一样。但是索引维护对insert update影响必须要考虑到

简单点理解2者区别,从数据库角度来看,分区表更侧向于片状范围划定,索引更趋向于线性定位

MySQL单列索引和组合索引的区别介绍

普通索引\x0d\这是最基本的索引类型,而且它没有唯一性之类的限制。\x0d\唯一性索引\x0d\这种索引和前面的“普通索引”基本相同,但有一个区别:索引列的所有值都只能出现一次,即必须唯一。

MySQL单列索引和组合索引的区别可能有很多人还不是十分的了解下面就为您分析两者的主要区别供您参考学习

为了形象地对比两者再建一个表

CREATE TABLE myIndex ( i_testID INT NOT NULL AUTO_INCREMENT vc_Name VARCHAR() NOT NULL vc_City VARCHAR() NOT NULL i_Age INT NOT NULLi_SchoolID INT NOT NULL PRIMARY KEY (i_testID) );

在这 条记录里面 上 下地分布了 条 vc_Name="erquan" 的记录只不过 cityageschool 的组合各不相同

来看这条 TSQLSELECT i_testID FROM myIndex WHERE vc_Name=erquanAND vc_City=郑州 AND i_Age=;

首先考虑建MySQL单列索引

在 vc_Name 列上建立了索引执行 TSQL 时MYSQL 很快将目标锁定在了 vc_Name=erquan 的 条记录上取出来放到一中间结果集在这个结果集里先排除掉 vc_City 不等于"郑州"的记录再排除 i_Age 不等于 的记录最后筛选出唯一的符合条件的记录

虽然在 vc_Name 上建立了索引查询时MYSQL不用扫描整张表效率有所提高但离我们的要求还有一定的距离同样的在 vc_City 和 i_Age 分别建立的MySQL单列索引的效率相似

为了进一步榨取 MySQL 的效率就要考虑建立组合索引就是将 vc_Namevc_Cityi_Age 建到一个索引里

ALTER TABLE myIndex ADD INDEX name_city_age (vc_Name()vc_Cityi_Age);

建表时vc_Name 长度为 这里为什么用 呢?因为一般情况下名字的长度不会超过 这样会加速索引查询速度还会减少索引文件的大小提高 INSERT 的更新速度

执行 TSQL 时MySQL 无须扫描任何记录就到找到唯一的记录!!

肯定有人要问了如果分别在 vc_Namevc_Cityi_Age 上建立单列索引让该表有 个单列索引查询时和上述的组合索引效率一样吗?大不一样远远低于我们的组合索引虽然此时有了三个索引但 MySQL 只能用到其中的那个它认为似乎是最有效率的单列索引

建立这样的组合索引其实是相当于分别建立了

vc_Namevc_Cityi_Age

vc_Namevc_City

vc_Name

这样的三个组合索引!为什么没有 vc_Cityi_Age 等这样的组合索引呢?这是因为 mysql 组合索引“最左前缀”的结果简单的理解就是只从最左面的开始组合并不是只要包含这三列的查询都会用到该组合索引下面的几个 TSQL 会用到

SELECT * FROM myIndex WHREE vc_Name="erquan" AND vc_City="郑州"

SELECT * FROM myIndex WHREE vc_Name="erquan"

而下面几个则不会用到

SELECT * FROM myIndex WHREE i_Age= AND vc_City="郑州"

SELECT * FROM myIndex WHREE vc_City="郑州"

鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com

免责声明:我们致力于保护作者版权,注重分享,当前被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!邮箱:344225443@qq.com)

图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,本着为中国教育事业出一份力,发布内容不收取任何费用也不接任何广告!)