前几天,业务组的小伙伴找到我,说在一张核心业务表上使用了MySQL的唯一索引,谁知索引没生效,依然产生了重复数据,导致出现了线上bug,被老大怼了一顿,小伙子一脸疑惑:本地测试好好的,怎么一到上线就出问题了呢?
MySQL的唯一索引很好用,但是有些坑还是要提前了解的,要不掉进去,摔得可老疼了。下面让我们复现一下小伙伴的问题,分析一下为什么会这样?
首先,创建一张product_unique表:
2024年12月27日
前几天,业务组的小伙伴找到我,说在一张核心业务表上使用了MySQL的唯一索引,谁知索引没生效,依然产生了重复数据,导致出现了线上bug,被老大怼了一顿,小伙子一脸疑惑:本地测试好好的,怎么一到上线就出问题了呢?
MySQL的唯一索引很好用,但是有些坑还是要提前了解的,要不掉进去,摔得可老疼了。下面让我们复现一下小伙伴的问题,分析一下为什么会这样?
首先,创建一张product_unique表:
2024年12月27日
版权声明:本文为CSDN博主「java叶新东老师」的原创文章
原文链接:https://blog.csdn.net/qq_27184497/article/details/119274535
2024年12月27日
对于一个查询而言,一个三星索引,可能是其最好的索引。如果查询使用三星索引,一次查询通常只需要进行一次磁盘随机读以及一次窄索引片的扫描,因此其相应时间通常比使用一个普通索引的响应时间少几个数量级。
2024年12月27日
作者:fanili,腾讯 WXG 后台开发工程师
知其然知其所以然!本文介绍索引的数据结构、查找算法、常见的索引概念和索引失效场景。
在关系数据库中,索引是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。索引的作用相当于图书的目录,可以根据目录中的页码快速找到所需的内容。(百度百科)
2024年12月27日
起因是这样的,有一张表存在慢sql,查询耗时最多达到12s,定位问题后发现是由于全表扫描导致,需要对字段增加索引,但是表的数据量600多万有些大,网上很多都说对大表增加索引可能会导致锁表,查阅了一些资料,可以说网上说了很多,但是都很笼统,听别人说不如自己去验证,于是开启了验证之旅
2024年12月27日
索引(index),是帮助MySQL高效获取数据的数据结构(有序),在数据之外,数据库系统还维护者满足特定查询算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是索引。
2024年12月27日
迎面走来了你的面试官,身穿格子衫,挺着啤酒肚,发际线严重后移的中年男子。 手拿泡着枸杞的保温杯,胳膊夹着MacBook,MacBook上还贴着公司标语:“我爱加班”。
面试开始,直入正题。
面试官: 你知道MySQL索引底层数据结构为啥用B+树?而不用B树、红黑树或者普通二叉树?
2024年12月27日
柠檬哥整理了50本计算机相关的电子书,关注公众号「后端技术学堂」,回复「1024」我发给你,回复「进群」拉你进百人读者技术交流群,一起学习共同成长。
2024年12月27日
索引是一个单独的数据结构,通过对一列或多列进行组织,可以快速定位记录。
提高了查询速度(以及分组、排序速度),但是增加了存储,降低了更新速度。
mysql支持btree索引。
还可以定义唯一索引(允许为空)、主键(唯一非空索引)
索引遵循最左前缀原则,即多列索引只有使用定义左边的字段才有效。
索引不要太多,索引定义的列不要太多,经常更新的表要减少索引,数据量邵的表不见得需要索引,不同值少的列不要建立索引。