二十六 管理事务处理

1.并非所有引擎都支持事务处理,如MyIASM和InnoDB,关于事务处理的几个术语:
事务(Transaction)指一组sql语句;
回退(rollback)指撤销指定SQL语句的过程;
提交(commit)指将为存储的SQL语句结果写入数据库表;
保留点(savepoint)指事务处理中设置的临时占位符(placeholder),可以对它发布回退。
2.管理事务处理的关键在于将SQL语句组分解为逻辑块,并明确规定数据何时应该回退,何时不应该回退
3.MySQL使用如下标志事务的开始:
START TRANSACTION
ROLLBACK用来回退MySQL语句。
如:

SELECT * FROM ordertotals;//显示该表不为空
START TRANSACTION;//开始事务
DELETE FROM ordertotals;//删除全部数据
ROLLBACK;//回退
SELECT * FROM ordertotals;//显示该表不空

事务处理用来管理INSERT/UPDATE/DELETE语句,不能回退CREATE/DROP操作,当然还有SELECT;

4.使用COMMIT,一般的MySQL语句都是直接针对数据库表执行和编写的,即所谓的隐含提交(implicit commit),
提交操作室自动的。在事务处理中,提交不会隐含的进行。
如:

START TRANSACTION;
;
;
commit;

注意“隐含事务关闭”。
5.使用保留点。
如:SAVEPOINT delete1;
ROLLBACK TO delete1;
保留点越多越好,在事务处理完成后保留点可以自动释放。
6.更改默认的提交行为。为了使MySQL不自动提交更改,
可以:

;//直到被重新设置为真为止。

注意 autocommit 标志是针对每个连接而不是服务器的。

三十 改善性能

1.遵循MySQL的硬件建议
2.使用过程中可能需要调优,查看当前设置,可以使用SHOW VARIABLES;SHOW STATUS等;
3.MySQL是一个对用户多线程的DBMS,如果多任务中的某一个执行缓慢,会影响所有请求的执行,

SHOW PROCESSLIST;

可以显示所有活动进程,进而执行KILL操作;
4.总是有不止一种方法编写同一条SELECT语句;
5.使用EXPLAIN语句让MySQL解释如何执行一条SQL语句;
6.一般来说,存储过程要比执行独立的各条SQL语句要快;

7.应该总是使用正确的数据类型;绝不要检索必需求还多的数据。换言之,不要使用select *(除非你真正需要某个列);
8.某些操作支持可选的DELAYED关键字,如果使用它,将把控制立即返回给调用程序,并且一旦有可能就实际执行该操作,即延迟插入;
9.在导入数据时,应该关闭自动提交。也可以删除索引,在导入完成后再重建;
10.必须索引数据库表以改善数据检索的性能。如果一个简单的WHERE子句返回结果的时间过长,则可以断定其中几个列是需要索引的对象;
11.SELECT不应该使用过多的OR条件,使用UNION连接子句代替,会看到极大的性能改善;
12.索引改善数据检索的性能,但损害数据插入、删除和更新的性能。如果某些表收集数据但是不经常被检索,在这之前不应该索引它们;
13.LIKE很慢,最好使用FULLTEXT代替;
14.最重要的规则是,每条规则在某些条件下都会被打破。

《MySQL必知必会》笔记 事务、安全及性能等的更多相关文章

  1. 《mysql必知必会》读书笔记--存储过程的使用

    以前对mysql的认识与应用只是停留在增删改查的阶段,最近正好在学习mysql相关内容,看了一本书叫做<MySQL必知必会>,看了之后对MySQL的高级用法有了一定的了解.以下内容只当读书 ...

  2. 《MySQL必知必会》学习笔记——前言

    前言 MySQL已经成为世界上最受欢迎的数据库管理系统之一.无论是用在小型开发项目上,还是用来构建那些声名显赫的网站,MySQL都证明了自己是个稳定.可靠.快速.可信的系统,足以胜任任何数据存储业务的 ...

  3. MySQL必知必会(第4版)整理笔记

    参考书籍: BookName:<SQL必知必会(第4版)> BookName:<Mysql必知必会(第4版)> Author: Ben Forta 说明:本书学习笔记 1.了解 ...

  4. MySQL必知必会1-20章读书笔记

    MySQL备忘 目录 目录 使用MySQL 检索数据 排序检索数据 过滤数据 数据过滤 用通配符进行过滤 用正则表达式进行搜索 创建计算字段 使用数据处理函数 数值处理函数 汇总数据 分组数据 使用子 ...

  5. 《MySQL必知必会》学习笔记整理

    简介 此笔记只包含<MySQL必知必会>中部分章节的整理笔记.这部分章节主要是一些在<SQL必知必会>中并未讲解的独属于 MySQL 数据库的一些特性,如正则表达式.全文本搜索 ...

  6. MySQL必知必会复习笔记(1)

    MySQL必知必会笔记(一) MySQL必知必会是一本很优秀的MySQL教程书,并且相当精简,在日常中甚至能当成一本工作手册来查看.本系列笔记记录的是:1.自己记得不够牢的代码:2.自己觉得很重要的代 ...

  7. MySQL使用和操作总结(《MySQL必知必会》读书笔记)

    简介 MySQL是一种DBMS,即它是一种数据库软件.DBMS可分为两类:一类是基于共享文件系统的DBMS,另一类是基于客户机——服务器的DBMS.前者用于桌面用途,通常不用于高端或更关键应用. My ...

  8. 读《MySql必知必会》笔记

    MySql必知必会 2017-12-21 意义:记录个人不注意的,或不明确的,或不知道的细节方法技巧,此书250页 登陆: mysql -u root-p -h myserver -P 9999 SH ...

  9. MySql必知必会内容导图

    <MySQL必知必会>从介绍简单的数据检索开始,逐步深入一些复杂的内容,包括联结的使用.子查询.正则表达式和基于全文本的搜索.存储过程.游标.触发器.表约束,等等.通过重点突出的章节,条理 ...

  10. 读《MySQL必知必会》我学到了什么?

    前言 最近在写项目的时候发现自己的SQL基本功有些薄弱,遂上知乎查询MYSQL关键字,期望得到某些高赞答案的指点,于是乎发现了 https://www.zhihu.com/question/34840 ...

随机推荐

  1. stl-基本知识

    摘要:本文列出几个基本的STL map和STL set的问题,通过解答这些问题讲解了STL关联容器内部的数据结构,最后提出了关于UNIX/LINUX自带平衡二叉树库函数和map, set选择问题,并分 ...

  2. curl 学习保存

    原文地址 http://www.jb51.net/article/48866.htm php中的curl使用入门教程和常见用法实例 作者: 字体:[增加 减小] 类型:转载   起先cURL是做为一种 ...

  3. hdu 2047 阿牛的EOF牛肉串

    如果末尾加的是E或F,显然是2*a[i-1] 如果末尾加的是O,则末2位一定是EO或FO,则为2*a[i-2]. 然后两者相加 2*a[i-1]+2*a[i-2] = 2*(a[i-1]+a[i-2] ...

  4. Log4j 2使用教程

    Log4j 2的好处就不和大家说了,如果你搜了2,说明你对他已经有一定的了解,并且想用它,所以这里直接就上手了. 1. 去官方下载log4j 2,导入jar包,基本上你只需要导入下面两个jar包就可以 ...

  5. N个数全排列的非递归算法

    //N个数全排列的非递归算法 #include"stdio.h" void swap(int &a, int &b) { int temp; temp = a; a ...

  6. Windows 下的.NET+ Memcached安装

    转载请标明出处: http://www.yaosansi.com/ 原文:http://www.yaosansi.com/post/1396.html Memcached官方:http://danga ...

  7. linux 的终端字体色和背景色的修改方法(一)

    更改Linux系统终端的颜色主题 随着Linux系统在服务器端的崛起,Linux也在慢慢进军个人桌面系统领域.如果在使用Linux系统的终端时,对其颜色主题不是很满意,该怎么修改颜色的主题呢?今天笔者 ...

  8. 错误 1 未知的服务器标记“asp:ScriptManager”。

    如题 ... 解决方案 :将 <%@ Register Assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=ne ...

  9. Linux下建立软链接

    实例:ln -s /home/gamestat    /gamestat Linux下的软链接类似于windows下的快捷方式 ln -s a b 中的 a 就是源文件,b是链接文件名,其作用是当进入 ...

  10. [OpenJudge 3063]罪犯问题

    [OpenJudge 3063]罪犯问题 试题描述 一天,警官抓获了N个嫌犯,审问N个罪犯的途中,作为警长助手的你突然发现其中被确定为罪犯的K号人是你曾经出生入死的兄弟,你不能眼睁睁看着他被抓进牢里. ...