![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mysql
文章平均质量分 81
'会飞的猪
这个作者很懒,什么都没留下…
展开
-
sql时间相关操作
在创建表和查询表中的数据时, 经常会跟时间打交道, 比如查询某一段时间内的订单信息.如果要查询订单时间在5月1号到5月12号之间的数据Select * From order Where DATE_FORMAT(createTime,'%m-%d') >= '05-01' and DATE_FORMAT(createTime,'%m-%d') <= '05-12';DATE_...原创 2019-10-25 13:43:56 · 181 阅读 · 0 评论 -
谈谈自己对sql优化的理解
sql优化的见解合理的使用缓存来减少对数据库的查询。如利用mybatis的一级缓存,来减少相同sql的查询。不适用select * from 得查询,加大数据库的压力,使用什么字段,返回什么字段。避免使用not in 或 <> 不等于的查询,因为会查询全表。我们自己写的sql很清楚知道,返回的数据有多少。当我们只需要有一个结果返回时,利用limit 1.查出1条后面的就不在...原创 2019-03-18 19:41:44 · 1430 阅读 · 0 评论 -
mysql常用函数
MySQL中的常用函数IFNULL(a,b)SELECT IFNULL(1,2) #返回 1SELECT IFNULL(null,2) #返回 2SELECT IFNULL(‘a’,2) #返回 aIF(a,b,c)SELECT IF(1>2,'a','b') #返回 bSELECT IF(1<2,'a','b') # 返回 ...原创 2019-04-30 10:51:48 · 323 阅读 · 1 评论 -
mysql中行锁的排他锁与共享锁
mysql锁机制分为表级锁和行级锁,本文说下行锁中的:mysql锁机制分为表级锁和行级锁共享锁又称为读锁,简称S锁,顾名思义,共享锁就是多个事务对于同一数据可以共享一把锁,都能访问到数据,但是只能读不能修改。排他锁又称为写锁,简称X锁,顾名思义,排他锁就是不能与其他所并存,如一个事务获取了一个数据行的排他锁,其他事务就不能再获取该行的其他锁,包括共享锁和排他锁,但是获取排他锁的事务是可以对数...原创 2019-05-05 17:06:48 · 482 阅读 · 0 评论 -
间隙锁
间隙锁(Next-Key锁)当我们用范围条件而不是相等条件检索数据,并请求共享或排他锁时,InnoDB会给符合条件的已有数据的索引项加锁;对于键值在条件范围内但并不存在的记录,叫做“间隙(GAP)”,InnoDB也会对这个“间隙”加锁,这种锁机制不是所谓的间隙锁(Next-Key锁)。举例来说,假如emp表中只有101条记录,其empid的值分别是1,2,...,100,101,下面的SQL:...原创 2019-05-05 17:30:44 · 179 阅读 · 0 评论 -
mysql中的表锁
表锁:共享读锁 和 独占写锁表锁的优势:开销小;加锁快;无死锁表锁的劣势:锁粒度大,发生锁冲突的概率高,并发处理能力低加锁的方式:自动加锁。查询操作(SELECT),会自动给涉及的所有表加读锁,更新操作(UPDATE、DELETE、INSERT),会自动给涉及的表加写锁。也可以显示加锁:共享读锁:lock table tableName read;独占写锁:lock table tabl...原创 2019-05-06 10:46:43 · 153 阅读 · 0 评论 -
mysql的乐观锁和悲观锁
之前将了数据库的表锁和行锁,现在又出现了悲观锁和乐观锁,怎么数据库有这么多的锁。其实数据库的锁机制,就是确保数据的完整性,一致性。我个人认为并不需要把悲观锁和乐观锁,也列为数据库的又一种锁形式,其实敞开了说,大白话。所谓乐观锁:就是我们用表字段的形式,自己给数据库实现了一种锁机制,来确保我们数据的完整性,一致性。而悲观锁其实就是行锁中的排他锁。这样讲大家应该瞬间秒懂了吧。下来用案例让你更加深...原创 2019-05-06 11:26:24 · 157 阅读 · 0 评论