Mysql优化1:优化概述和事务

1优化概述

存储层:存储引擎、字段类型选择、范式设计。
设计层:索引、缓存、分区
架构层:多个MySql服务器、读写分离
sql语句层:多个sql语句都可以达到的目的的情况下,要选择性能高,速度快的sql语句

2事务

事务:用老保证多条‘增删改’语句的执行的‘一致性’,要么一起执行,要么都不执行。
在cmd中,开启一条语句就是一个事务的开关,默认情况下,这个模式是开启的,‘自动提交模式’,可以把它关闭,就变成了‘非自动提交模式’,需要人为提交。

2.1命令行中执行sql语句:

首先,以前的经验是:一条增删改语句,一旦回车就执行,现在我们关闭这中自动提交模式:

mysql>set autocommit = 0;

然后执行一条insert语句,执行完后查看数据库中并没有插入数据,但是这条语句已经执行成功了,如果想在数据库中插入数据,执行下面的语句:

mysql>commit;

这时候数据库便有了数据。

2.2在php中执行sql语句:

刚才是在命令行中操作的,但是实际中并非在这里操作,而是在php中操作。
我们来看一下事务的基本流程:
开启一个事务(之前是关闭事务的自动提交模式,现在不需要关闭了,照常打开)

<?php
//开启一个事务
mysql_query('start transaction');//也可以写成:begin
//执行多条sql语句
$res1 = mysql_query('insert into order values (`12`,`huhu`)');
$res2 = mysql_query('insert into order values (`23`,`lili`)');
//判断这些语句执行是否都没有问题
if($res1 && $res2)
{
mysql_query('commit');//提交事务
}else{
mysql_query('rollback');//回滚事务,此时什么都没有做
}
?>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值