mysql
bugs_more_more
无bug无江湖
展开
-
【Mybatis】批量插入时,当插入的值在某个字段已存在,不进行插入
场景:程序中定时从excel中读取数据,数据为用户名。然后在为每个用户名生成一个密码,要求在插入到数据库时,如果这个用户名已经存在时,这条记录就不插入了。实现方式:网上有很多解决方式,不过基本上都是通过主键或者索引了完成的。我这里因为没有主键和索引,所以就通过另外一种方式来实现。代码如下:首先需要写Dao,我直接在Dao中通过注解的方式来写的sql @Insert( "<script>" + "insert into user(`name`,`p原创 2021-07-08 16:46:29 · 1717 阅读 · 0 评论 -
【mysql优化实战】前言
【mysql优化实战】系列为自己关于mysql试验中的一些记录,文章中有可能存在不足和错误。如有问题请多多包涵自己按照试验的顺序进行了章节分类,分类没有其他的依据,有可能比价乱,后期会继续整理。内容如下:【mysql优化实战】第一章 建表【mysql优化实战】第二章 单表但条件查询速度及explain内容观察【mysql优化实战】第三章 单表多条件查询的速度以及explain分析【mysql优化实战】第四章 多表连接优化分析【mysql优化实战】第五章 多表连接索引的作用待续......原创 2020-07-08 09:41:24 · 113 阅读 · 0 评论 -
【mysql优化实战】第五章 多表连接索引的作用
不管是单表还是多表,但条件还是多条件,如果想加快查询速度,我们知道就必须适当的使用索引。但是是不是只要加上索引就一定生效呢?怎样才能让其生效呢?这就是本章节要介绍的最左前缀原则。什么是最左前缀原则?说白了,就是你检索条件的字段的顺序与建立的索引字段的顺序只要相同,那么相同的这几个索引字段就会生效。下面我们会通过例子来说明首先,我们先列出当前我们两个表的字段big_tableuid_table以上是我们之前创建的2张表,big_table总共100W条记录,uid_table总共12条记录。原创 2020-07-08 09:40:35 · 917 阅读 · 0 评论 -
【mysql优化实战】第四章 多表连接优化分析
前面的章节我们一起观察了单表100万条记录下的查询时间和通过explain观察了执行计划,讲解了如何通过看explain的结果来分析是否需要优化sql。这一章,我们将添加一个uid_table表,给这个表添加12记录,然后与100W条记录的big_table表进行连接时使用。来看一下多表连接的情况下,sql的执行速度和通过explain来分析是否需要优化。uid_table的表结构和插入记录的语句如下:INSERT INTO uid_table (uid) SELECT uid from big原创 2020-07-08 09:40:03 · 397 阅读 · 0 评论 -
【mysql优化实战】第三章 单表多条件查询的速度以及explain分析
在第二章中我们在只有默认的主键索引的情况下,通过多种不同的查询,观察了100万条记录的情况下,各种查询的查询速度。这一章,我们将针对第二章中那些查询速度慢的查询,通过建立索引(联合索引),来看一下是否会优化其速度,并通过explain来看一下。表中含有如下字段:uid | mobile | passwd | name | sex | birthday | updated_time...原创 2020-07-08 09:39:31 · 989 阅读 · 0 评论 -
【mysql优化实战】第二章 单表但条件查询速度及explain内容观察
本章中,我们将使用第一章中建立的100万条记录的表,显示进行从无到有的一个mysql优化的过程。当前我们的表并没有使用任何索引做过优化,现在我们对表进行一次查询,来观察一下查询时间。...原创 2020-07-08 09:38:45 · 255 阅读 · 0 评论