使用docker安装mysql 数据库
拉取镜像:docker pull mysql:5.7 指定5.7 版本,也可以根据直接需求填写版本号
2025年05月21日
(一) 建表规约
2025年05月21日
在数据库管理中,查找重复值是一项常见需求。比如在数据清理、数据分析、数据质量检查等场景下,我们常常需要找出表中某列或多列的重复值。在MySQL里,有多种方法可以实现这一目的。
2025年05月21日
在我们深入探讨MySQL索引优化之前,让我们先来听一个小故事。有一天,小王走进一家图书馆,想找一本关于编程的书。他漫无目的地在书架前徘徊,花了整整一个小时才找到那本书。而在旁边的小李,却通过图书馆的电子索引系统,只用了几秒钟就找到了同一本书。这个故事告诉我们,索引就像图书馆里的电子索引系统,能够大大提升我们的查询效率。
2025年05月21日
在前面的复合索引文章里讲到过,复合索引要满足最左前缀匹配原则,即不能跳过索引的前导列而单独使用索引的后面的列。
如果有查询复合索引(a,b),查询为select * from t where b=xx,此查询是否一定不能走索引呢?
表结构如下:
2025年05月21日
1、选取最适用的字段属性
MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快。因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设得尽可能小。例如,在定义邮政编码这个字段时,如果将其设置为CHAR(255),显然给数据库增加了不必要的空间,甚至使用 VARCHAR这种类型也是多余的,因为CHAR(6) 就可以很好的完成任务了。同样的,如果可以的话,我们应该使用MEDIUMINT而不是BIGINT来定义整型字段。
2025年05月21日
前两天发现同事要做一个对大表进行范围查询的功能,然后想在本地生成7千万数据进行性能测试,苦于代码插入太慢,SQL单条插入也很慢,于是想到了用以下几个方法快速生成千万级数据。
首先我们的表结构如下(嫌麻烦也可以直接看下面的截图):