问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

组合索引和单列索引哪个更好

发布网友 发布时间:2022-05-03 05:55

我来回答

1个回答

热心网友 时间:2022-05-03 07:25

  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="郑州"
  转载,仅供参考。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
苹果手机微信怎么换漂亮字体(苹果手机微信怎么换行输入) 有什么好用的app转换字体 手写转文字的软件 erp可以看评论地址吗 淘宝评论url是什么意思? 揭秘:码牌支付风控升级,背后真相揭秘 电脑电视直播软件哪个好用什么软件好电脑看电视直播 潼南子同街学区是哪些 三极管BU406价格和参数? 火锅料放在冰柜忘了插电一个星期给会坏了吗 火锅的设备有哪些 自然堂和富勒烯哪个比较好 林语堂的基本资料 林语堂的作品及其特色 林语堂简介? 林语堂有哪些作品? 林语堂的简介? 林语堂的人物简历 你对林语堂这个人有哪些评价? 林语堂的简介及其主要作品简介 林语堂是谁 林语堂是谁? 车载灭火器型号有哪些?使用多大容量比较合适 推车式灭火器型号MFT和MFTZ有什么不一样,可以通用不 谁能给我说点2010年经典QQ个性签名!要幽默的! 经典个性签名怎么写 求很拽、、很有哲理但又不失诗意的个性签名!!! 有什么女生唯美个性签名?拽拽的那种,越多越好,记住(姐不要的都是垃圾) 共享型 民生保障,是什么意思? “共享型 民生保障”是什么意思? 两台大洋非编建立局域网,怎么样共享项目文件 数码相机的潜望式和伸缩式镜头的优缺点是什么? 华彩世纪和富勒烯护肤品哪个好? 华彩世纪和富勒烯哪个好? 三星伸缩摄像头手机晚上拍照模糊是啥原因? 美人符和富勒烯小鸡腿哪个好用 质量文化金字塔的概念? 质量文化的含义和特征 导游证有什么类别吗 分地区吗 导游资格证考试的证书类型 导游证分类,以及考试,带团等问题。 导游证的种类?国导证在哪报名?可以一次考下中英文导游证吗?是说加试英语吗? 导游证具体怎么考,有什么分类 蜂蜜不能和什么一起喝 我想考大庆的导游证。怎么报名啊?今年什么时候报名,好不好考啊?导游证有什么分类吗?考哪种好点呢 为什么蜂蜜不能用开水冲着喝 excel中怎么显示这样的除号? 蜂蜜不宜喝什么一起喝 公司企业文化是什么意思 python 2.7 urlopen 函数,如何提高下载速度. 缘来不晚哪个聊天软件的收费是海南映乐-sdwx-a