MySQL
文章平均质量分 57
小黑孩.
疯狂cv中...
展开
-
MySQL中你不知道的count(主键)、count(字段)、count(1)和count(*)的区别
当我们要对表中的数据进行统计时,就要使用到count()函数,那么count(主键)、count(字段)、count(1)和count(*)这些都能对表数据进行统计,但是他们有什么区别呢?原创 2022-11-13 17:38:24 · 743 阅读 · 0 评论 -
关于MySQL的索引,你知道多少呢
在创建好索引之后,我们通过explain关键字来查看该sql语句的执行过程,即在该sql语句前加入explain,explain sql语句;稍不注意,可能你写的查询语句是会导致索引失效,从而走了全表扫描,虽然查询的结果没问题,但是查询的性能大大降低。我个人经常关注的几个字段有 type,possible_key,Key,rows。建立了索引,并不意味着任何查询语句都能走索引扫描。在工作中,如果我们想提高一条语句查询速度,通常都会想对字段建立索引。首先介绍一下索引的语法,如何创建,查看,删除索引。原创 2022-11-13 12:23:18 · 394 阅读 · 0 评论 -
MySQL去重中 distinct 和 group by 的区别
今天在写业务需要对数据库重复字段进行去重时,因为是去重,首先想到的是distinct关键字。于是我在distinct后面加上了id,distinct查出来的数据就是全部数据了,相当于distinct没起作用。而 group by 可以针对要查询的全部字段中的部分字段去重,它的作用主要是:获取数据表中以分组字段为依据的其他统计数据。distinct适合查单个字段去重,支持单列、多列的去重方式。即只有所有指定的列信息都相同,才会被认为是重复的信息。多列的去重则是根据指定的去重的列信息来进行,原创 2022-11-04 17:04:23 · 3799 阅读 · 0 评论 -
一篇文章搞懂MYSQL的脏读、不可重复读、幻读出现的原因以及用事务隔离级别来解决问题详解
假如张三希望下午办一张中国银行的储蓄卡放在钱包里,中午他的女友去中国银行办了卡并把卡偷偷放到张三的钱包里面,等到下午张三准备去办理的时候发现他的钱包竟然有中国银行的储蓄卡,这就像产生幻觉一样。加入张三准备提交事务时突然因断电发生异常回滚了事务,该转账操作实际并未完成,那么张三看到的1500块就是脏数据、一个事务按照条件查询数据时,没有对应的数据行,但是在插入数据时,又发现这行数据已经存在,好像出现幻觉。假如张三和李四现在各有1000块钱,现在张三要给李四转500.但是现在张三并未提交事务。原创 2022-11-10 10:10:54 · 1047 阅读 · 0 评论