当前位置: 首页 > news >正文

北京网站建设亿玛酷专注4营销策略有哪些

北京网站建设亿玛酷专注4,营销策略有哪些,企业网络推广网站建设,在一家传媒公司做网站编辑_如何?背景 对mysql的联合索引的考察是Java程序员面试高频考点!必须深刻理解掌握否则容易丢分非常可惜。 技术难点 考察对最左侧匹配原理理解。 原理 暂且不表。网上讲这非常多。我理解就是,B树每个非叶子节点的值都是有序存放索引的值。 比如对A、B、C …

背景

对mysql的联合索引的考察是Java程序员面试高频考点!必须深刻理解掌握否则容易丢分非常可惜。

技术难点

考察对最左侧匹配原理理解。

原理

暂且不表。网上讲这非常多。我理解就是,B+树每个非叶子节点的值都是有序存放索引的值。

比如对A、B、C 三个字段做联合索引。B+输每个节点都存储A、B、C的值。首先保证A有序其次保证B有序。

重点看实战。

实战

我们做一次实战记录,避免下次面试再次犯错。

环境

mysql版本 5.7.38-log

建表语句

CREATE TABLE `user_cart_item` (`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',`user_id` bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT '用户id',`goods_id` bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT '商品id',`goods_sku_id` bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT '商品id 有skuid的话为什么要存商品id',`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '物品篮项目创建时间',`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '物品篮项目更新时间',`sku_price` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '价格',PRIMARY KEY (`id`) USING BTREE,KEY `idx_user_cart_item` (`user_id`,`goods_id`,`goods_sku_id`) USING BTREE
) ENGINE=InnoDB  DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='物品篮项';

视代码可见我们创建一个联合索引 idx_user_cart_item

查询

 查询条件是user_id、goods_id、goods_sku_id,一定能匹配上索引没问题

EXPLAIN SELECTuser_id,goods_id, goods_sku_id,sku_price
FROMuser_cart_item 
WHEREuser_id=248 and goods_id = 1 and goods_sku_id = 1

结果如下: 

 查询条件是user_id、goods_id,一定能匹配上索引没问题

EXPLAIN SELECTuser_id,goods_id, goods_sku_id,sku_price
FROMuser_cart_item 
WHEREuser_id=248 and goods_id = 1 

结果如下:

 查询条件是user_id,一定能匹配上索引没问题

EXPLAIN SELECTuser_id,goods_id, goods_sku_id,sku_price
FROMuser_cart_item 
WHEREuser_id=248 

结果如下:

查询条件是user_id,goods_sku_id ,按最左侧匹配原则也是能使用索引

EXPLAIN SELECTuser_id,goods_id, goods_sku_id,sku_price
FROMuser_cart_item 
WHEREuser_id=248 and goods_sku_id = 1 

 结果如下:

查询条件是goods_sku_id 看能否使用索引

EXPLAIN SELECTuser_id,goods_id, goods_sku_id,sku_price
FROMuser_cart_item 
WHEREgoods_sku_id = 1 

结果如下:

重点

不满足最左侧匹配是不能使用联合索引的。

特殊情况不满足最左侧匹配也能使用联合索引

EXPLAIN SELECTuser_id,goods_id, goods_sku_id
FROMuser_cart_item 
WHEREgoods_sku_id = 1 

结果如下:

索引类型不是ref,而是index。是在索引范围内查找。甚过All 全表扫描

重点

当联合索引能覆盖查询字段(覆盖索引)。但查询条件并不满足最左侧匹配原则。mysql查询优化器也推荐我们使用联合索引。但索引是index。 也就是索引内查找。

http://www.hkea.cn/news/421019/

相关文章:

  • 建设网站的需求分析俄罗斯搜索引擎yandex推广入口
  • 可以做英文纵横字谜的网站搜狗网站收录入口
  • web前端开发是不是做网站百家号关键词排名优化
  • 夸克看网站要钱吗电商网站seo优化
  • 自己做网站排版138ip查询网域名解析
  • 东莞做网站 南城石佳2023网站推广入口
  • 广东省省建设厅网站郴州网站建设网络推广平台
  • 校园网站推广方案怎么做应用商店优化
  • 巩义网站建设网络营销公司是做什么的
  • 做网站基本教程一站式营销平台
  • 杭州模板网站建设电脑培训网上培训班
  • 大连做网站不错的公司怎样把广告放到百度
  • 网站上面带官网字样怎么做的网站设计的流程
  • 有个网站是做视频相册的网球排名即时最新排名
  • 论坛网站备案流程图优化大师怎么提交作业
  • 织梦政府网站模板百度在线入口
  • 专业做婚纱摄影网站会员制营销
  • 网站内容丰富互动营销平台
  • 阿里巴巴logo高清图谷歌seo网站推广
  • 网站如何做内链seo高手是怎样炼成的
  • 设计师个人网站建设怎样注册一个自己的平台
  • 徐州营销网站建设产品线上推广渠道
  • 绍兴市网站建设公司企业官网搭建
  • 关于网页设计的网站免费发布信息网站大全
  • 郑州新闻头条seo基础教程
  • 做网站比较大的公司朔州seo
  • 如何制作私人网站福州专业的seo软件
  • 做网站主流技术南宁在哪里推广网站
  • 老板让我做网站负责人微博营销软件
  • 教我做网站百度打开