MySQL中的默认事务特征(mysql默认事务)
MySQL是一种使用十分广泛的关系型数据库管理系统,它支持大部分的标准SQL,并针对具体的应用场景提出了各种定制化的附加功能,提高了它的实用性。在MySQL中,如果没有特殊设置,默认情况下,它将会进行会话级别的自动事务处理。如果在执行一条或多条SQL语句之后,仍未提交事务,那么这些SQL语句将不会被持久性的写入数据库,只有在执行了最终的commit语句之后,数据才会被成功地插入,并且需要从缓存中读取。
随着Web应用越来越复杂,事务处理功能具有越来越重要的作用。MySQL的默认事务处理特征支持的是“Autocommit”方式的事务处理,即:当执行完一条SQL语句之后,会自动提交事务,所以无需调用任何commit/rollback等语句,就可以依靠系统本身的自动提交处理,更加方便。
如果想要使MySQL的事务处理能力更加强大,可以使用MySQL自定义的变量“default-transaction-isolation”,它提供七个级别的隔离级别,当此变量值发生变化时,就会改变MySQL中支持的事务隔离级别。例如要改变MySQL的事务隔离级别,可以键入以下语句:
SET default-transaction-isolation= REPEATABLE-READ;
在MySQL的默认事务处理特性下,可以极大的提高Web应用的性能和可用性,但如果要求更多的事务隔离级别,就必须使用自定义变量来设置事务隔离级别,才能确保最佳的mysql数据库性能。