1、什么是事务:数据库中的事务是指逻辑上的一组操作,这组操作要么都执行成功,要么都不执行成功。2、事务的管理:默认情况下Mysql会自动管理事务,一条SQL语句独占一个事务。 也可以使用start transaction、rollback和commit人为方式管理。 在start
transaction之后的多条语句就是一个事务,事务commit之前可以rollback。3、在JDBC中管理事务:connection.setAutoCommit(false); connection.rollback();
connection.comm...
1.实体类中有个属性是其他对象,或者是List;在数据库中存储时使用的是mysql的json格式,此时可以用mybatis plus的一个注解@TableField(typeHandler = JacksonTypeHandler.class)这样在存入是就可以把对象自动转换为json格式,2.那么取出时怎么进行映射呢,有分为两种情况? a:当没有使用到xml时:? b:当使用了xml文件时:原文:https://www.cnblogs.com/changchangchang/p/13121407.html
众所周知,InnoDB使用的索引结构是B+树,但其实它还支持另一种索引:自适应哈希索引。哈希表是数组+链表的形式。通过哈希函数计算每个节点数据中键所对应的哈希桶位置,如果出现哈希冲突,就使用拉链法来解决。更多内容可以参考 百度百科-哈希表从以上可以知道,哈希表查找最优情况下是查找一次.而InnoDB使用的是B+树,最优情况下的查找次数根据层数决定。因此为了提高查询效率,InnoDB便允许使用自适应哈希来提高性能。可以通过参...
mysql之天坑一:复制过滤器导致数据混乱()mysql版本5.6.20-logreplicate_do_db:在该DB会话下面的所有sql都会在从库上执行replicate_ignore_db:在该DB会话下面的所有sql都会在从库上忽略以上两个复制过滤器很容易造成数据混乱,最好不要使用replicate_do_db:如果在其他DB会话下面执行与指定复制DB相关的sql,该sql不会在从库上执行并且不会导致复制失败,造成主从数据不一致。可以使用replicate_do_table替换replicate_do_dbreplic...
一、并发控制中锁的概念锁是并发控制中最核心的概念之一,在MySQL中的锁分两大类,一种是读锁,一种是写锁,读锁也可以称为共享锁(shared lock),写锁也通常称为排它锁(exclusive lock)。 这里先不讨论锁的具体实现,描述一下锁的概念:读锁是共享的,或者说是相互不阻塞的。多个客户在同一时刻可以同时读取一个资源,且互不干扰。写锁则是排他的,就是说一个写锁会阻塞其他的写锁和读锁,这是出于安全策略的考虑,只有这样...
注明: 本文转载自http://www.hollischuang.com/archives/923在MySQL中的行级锁,表级锁,页级锁中介绍过,行级锁是Mysql中锁定粒度最细的一种锁,行级锁能大大减少数据库操作的冲突。行级锁分为共享锁和排他锁两种,本文将详细介绍共享锁及排他锁的概念、使用方式及注意事项等。共享锁(Share Lock)共享锁又称读锁,是读取操作创建的锁。其他用户可以并发读取数据,但任何事务都不能对数据进行修改(获取数据上的排他锁),直到已释放...
本文参考: http://mysqlpub.com/thread-5383-1-1.htmlhttp://blog.csdn.net/c466254931/article/details/53463596
有很多是转载合并过来。锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的 计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一 个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个...
rand() -- 返回 0 ~ 1 之间的随机数floor(数值) -- 向下取整ceil(数值) -- 向上取整count(字段/*); -- 参数为字段时,统计每组中该字段的记录数,但为NULL时不统计;参数为*时,统计每组中所有记录数。max(字段); -- 统计每组中该字段的最大值min(字段); -- 统计每组中该字段的最小值avg(字段); -- 统计每组中该字段的平均值 sum(字段); -- 统计每组中该字段的和 gro...
在mysql中存储时间,我们可以用datetime 格式,timestamp格式,也可以用int格式。那么我们设计的时候该如何考虑呢?首先,我觉得应该明白这几个格式究竟是如何的,然后看看他们的区别,这样我们才能思考何时使用正确的格式。DATETIME格式,默认是"YYYY-MM-DD HH:MM:SS",这19个字符表示的,从1000-01-01 00:00:00-9999-12-31 23:59:59 。TIMESTAMP格式也是‘YYYY-MM-DD HH:MM:SS‘这样的,与DATETIME不同的地方是,它的年份取值范围...
无密码登录在一定程度上能够简化流程,对于密码敏感,但是又需要提供访问权限的情况下是一个不错的选择。尤其是在乙方在做一些操作的时候,要密码和给密码是一个纠结的问题。不给没法工作,给了又对信息安全又影响。
在Oracle和MySQL中都有相应的解决方案,大道至简,这个功能的目的都是类似的。
在Oracle中可以通过设置wallet来实现,在10g版本开始支持。而在MySQL中自5.6版本开始可以使用--login-path来实现。
先来看看Oracle中的...
Mysql的if既可以作为表达式用,也可在存储过程中作为流程控制语句使用,如下是做为表达式使用:IF表达式复制代码 代码如下:
IF(expr1,expr2,expr3)
如果 expr1 是TRUE (expr1 <> 0 and expr1 <> NULL),则 IF()的返回值为expr2; 否则返回值则为 expr3。IF() 的返回值为数字值或字符串值,具体情况视其所在语境而定。复制代码 代码如下:
select *,if(sva=1,"男","女") as ssva from taname where sva != ""
作为表达式的if也可以用C...
在MySQL中,NULL字段的处理,需要注意,当在处理查询条件中有NULL,很有可能你得到的值不是想要的,因为,在MySQL中,判断NULL值相等(=)或者不等(!=)都会返回false。主要出现在常见的SELECT以及WHERE字句中。为了处理这种特殊的情况,MySQL提供了如下的关键字进行特殊处理:IS NULL: 当列的值是NULL,此运算符返回true。IS NOT NULL: 当列的值不为NULL, 运算符返回true。<=>: 比较操作符(不同于=运算符),当比较的的两个值为...
1, 查看MySQL服务器配置信息 mysql> show variables;
2, 查看MySQL服务器运行的各种状态值 mysql> show global status; 3, 慢查询1. mysql> show variables like ‘%slow%‘;
2. +------------------+-------+
3. | Variable_name | Value |
4. +------------------+-------+
5. | log_slow_queries | OFF |
6. | slow_launch_time | 2 |
7. +------------------+-------+
8. mysql> show globa...
今天在建MySQL表的时候突然想弄清楚int(11)的含义。为什么括号中的数字大多数情况都是11而不是其他数字。int(11)的含义0、先建一张表,顺便插入一些数值create table `account`(`id` int(3)
)engine = innodb default charset=utf8;insert into `account`(`id`) values(12);
select * from `account`;
1、然后我们看看此时表的结构和表中数据2、将【Zerofill】勾选上,看看表中数据
图中的数据刚好展示了3位,和我们的int(3)中的3符...
1.索引是什么? 索引(Index)是帮助MySQL高效获取数据的数据结构。 索引就是数据结构,排好序的快速查找数据结构。2.索引怎么分类?①单值索引概念:即一个索引只包含单个列,一个表可以有多个单列索引。②唯一索引概念:索引列的值必须唯一,但允许有空值。③主键索引概念:设定为主键后数据库会自动建立索引,innodb为聚簇索引。④复合索引概念:即一个索引包含多个列。3.索引的创建、查看、删除操作命令创建CREATE [UNI...