MYSQL行为

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MYSQL行为相关的知识,希望对你有一定的参考价值。

mysql行为

在MySQL中,存在两个可以控制行为的变量,它们分别是AUTOCOMMIT变量和TRANSACTION ISOLACTION LEVEL变量。

自动提交

在MySQL中,如果不更改其自动提交变量,则系统会自动向数据库提交结果,用户在执行数据库操作过程中,不需要使用START TRANSACTION语句开始事务,应用COMMIT或者ROLLBACK提交事务或执行回滚操作。

事务的孤立级

事务具有独立的空间,在MySQL服务器中,用户通过不同的会话执行不同的事务,在多用户环境中,许多RDBMS会话在任意指定时刻都是活动的。为了使这些事务互不影响,保证数据库性能不受到影响,采用事务的孤立级是十分有必要的。

基于ANSI/ISO SQL规范,MySQL提供4种孤立级:

SERIALIZABLE(序列化)
REPEATABLE READ(可重读)
READ COMMITTED(提交后读)
READ UNCOMMITTED(未提交读)

修改事务的孤立级

在MySQL中,可以使用TRANSACTION ISOLATION LEVEL变量修改事务孤立级,其中,MySQL的默认孤立级为REPEATABLE READ(可重读),用户可以使用SELECT命令获取当前事务孤立级变量的值,
其命令如下:
SELECT @@tx_isolation ;

技术图片

查询高速缓存

在MySQL中,应用VARIABLES关键字,以通配符形式查看服务器变量。

使用高速缓存

在MySQL中,查询高速缓存的具体语法结构如下:
SELECT SQL_CACHE * FROM 表名 ;

技术图片

然后不使用高速缓存查询该数据表。

技术图片

以上是关于MYSQL行为的主要内容,如果未能解决你的问题,请参考以下文章

是mysql错误还是预期行为?

mysql行为审记

@Transactional 上的 MySQL 套接字超时行为

MySQL表分区奇怪行为(突然查询慢)

Laravel 和 MySql 查询行为

php/mysql 函数的奇怪行为