我先简单的介绍下事务:事务必须满足4个条件:1、原子性,2、一致性,3、隔离性,4、持久性。

MySQL的事务处理主要有两种方法

1、用 begin rollback commit 来实现
  begin:开始的事务
  rollback:事务回滚
  commit:事务确认,
2、直接用set来改变MySQL的自动提交模式
MySQL默认的是自动提交的,也就是你提交一个QUERY, 他就直接执行!我们可以通过set autocommit=0 禁止自动提交, set autocommit=1开启自动提交;
来实现事务,
通过第二种方法实现的代码:

<?php

$header = mysql_connect("localhost","root","");//数据库连接
mysql_select_db("talk");//选择数据库
mysql_query("SET AUTOCOMMIT = 0");//设置为不自动提交;数据库默认的是立即执行
mysql_query("BEGIN");//开始事务定义;
if(!mysqli_query("insert into trans(id) value ('3')"));
{
mysql_query("BOOLBACK");//失败时执行回滚;

}
if(!mysql_query("insert into trans(id) value(''4)"))
{
mysqli_query("BOOLBACK");//失败的时候执行回滚;
}
mysql_query("COMMIT");//执行事务;
mysql_query("$header");

?>

MyISAM和InnoDB区别:
  1. MyISAM引擎的简单SELECT、INSERT和UPDATE快速操作

  2. MyISAM类型的数据文件可以在不同的操作系统中COPY,部署的时候方便点。

  3. MyISAM是非事务安全型的,而InnoDB是事务安全型的。

  4. MyISAM锁的粒度是表级,而InnoDB支持行级锁定。

  5. MyISAM支持全文类型索引,而InnoDB不支持全文索引。

  6. MyISAM相对简单,所以在效率上要优于InnoDB,小型应用可以考虑使用MyISAM。

  7. MyISAM表是保存成文件的形式,在跨平台的数据转移中使用MyISAM存储会省去不少的麻烦。

  8. InnoDB表比MyISAM表更安全,可以在保证数据不会丢失的情况下,切换非事务表到事务表(alter table tablename type=innodb)。

应用场景

MyISAM管理非事务表。它提供高速存储和检索,以及全文搜索能力。如果应用中需要执行大量的SELECT查询,那么MyISAM是更好的选择。
InnoDB用于事务处理应用程序,具有众多特性,包括ACID事务支持。如果应用中需要执行大量的INSERT或UPDATE操作,则应该使用InnoDB,这样可以提高多用户并发操作的性能。

数据库表的类型

创建表的时候定义的表性质:静态表、动态表、压缩表。默认的是静态表
若存在varchar text字段则表的类型为动态

静态表的::::字段有固定的的长度。例如:char(20)

动态表:::::字段的长度是变化的;如varchar(这种表比较节省空间、复杂度高每条记录都有一个header,作用就是表明该记录有多长,所有的字符串列都是动态的)

压缩表:::::只读,使用很少的空间,用myisampack工具创建,

MySQL的那点事!的更多相关文章

  1. php与mysql通讯那点事

    php与mysql通讯那点事 http://www.cnxct.com/libmysql-mysqlnd-which-is-best-and-what-about-mysqli-pdomysql-my ...

  2. MySQL主库切换那些事

    最近连续经历了机架掉电和交换机挂掉,着实切了不少主库,虽然过程心惊胆跳,但是也算是上过战场,经过了实战演习,相信TEAM中的小伙伴们对于切主库已经可以驾轻就熟了. MySQL的主库切换也属于DBA的一 ...

  3. mysql复制那点事 - Seconds_behind_Master参数调查笔记

    目录 mysql复制那点事 - Seconds_behind_Master参数调查笔记 0. 参考文献 1. 问题背景 2. 调查结论 3. 调查与分析过程 3.1 轮转binlog时的运行逻辑 3. ...

  4. mysql复制那点事(2)-binlog组提交源码分析和实现

    mysql复制那点事(2)-binlog组提交源码分析和实现 [TOC] 0. 参考文献 序号 文献 1 MySQL 5.7 MTS源码分析 2 MySQL 组提交 3 MySQL Redo/Binl ...

  5. Mysql性能优化那些事

    ​    ​对于全栈而言,数据库技能不可或缺,关系型数据库或者nosql,内存型数据库或者偏磁盘存储的数据库,对象存储的数据库或者图数据库--林林总总,但是第一必备技能还应该是MySQL.从LAMP的 ...

  6. PHP+MySQL 分页那点事

    分页技术随处可见,这可以算得上是最为基础的网站功能了.于是今天尝试着用PHP来实现一个分页的小例子. 准备工作 环境准备 Apache MySQL PHP 工作环境 数据库准备 建库 建表 预存数据 ...

  7. 十五、Mysql字符集的那些事

    1. 设置默认字符集 #vim /etc/mysql/my.cnf .(5.5以后系统)如下修改: [client] default-character-set=utf8 [mysqld] defau ...

  8. linux下jdk_tomcat+mysql配置那点事

    (1)上传环境压缩包 apache-tomcat-7.0.47.tar.gz, jdk-7u71-linux-x64.gz, mysql-5.6.14.tar.gz通过xftp工具上传到/usr/lo ...

  9. mysql的那些事之架构

    MySQL架构的那些事 此篇博客为原创,欢迎转载,转载时请注明出处,谢谢 最近深入学习了一下mysql的内容,想把自己的理解分享出来. mysql架构 逻辑架构 Connectors:连接器 Mana ...

随机推荐

  1. Tlist删除技巧

    二.    从TList开始分析-- 为了写一个更好的性能ISAPI Filter,我需要更快速地从TList中删除部分连续的Item.比如这样的一段代码: var p : pChar = 'abcd ...

  2. 借助Html制作渐变的网页背景颜色

    借助Html制作渐变的网页背景颜色 <html> <head> <title>制作渐变背景</title> <meta http-equiv=&q ...

  3. SpringMVC学习记录1

    起因 以前大三暑假实习的时候看到公司用SpringMVC而不是Struts2,老司机告诉我SpringMVC各种方便,各种解耦. 然后我自己试了试..好像是蛮方便的.... 基本上在Spring的基础 ...

  4. volatile关键字 学习记录1

    虽然已经工作了半年了...虽然一直是在做web开发....但是平时一直很少使用多线程..... 然后最近一直在看相关知识..所以就有了这篇文章 用例子来说明问题吧 public class Volat ...

  5. hibernate学习三(使用Annotation,注解)

    一.新建一个工程hibernate_02_HelloWorld_Annotation(复制01工程并重命名); 二.新建一个实体类teacher.java,数据库中新建teacher表; import ...

  6. RESTful 接口调试分享利器 restc

    这个工具来自于https://elemefe.github.io/restc/  这里对Abp进行了一次封装 1.在项目中添加nuget包 Abp.Web.Api.Restc 2.在项目Abp模块的D ...

  7. 如何使用FileZilla上传和下载文件

    一.使用FileZilla上传文件 1 打开 FileZilla 按照如下图所示,填写远程 Linux 的 IP ,用户名,密码,还有端口号(默认22) 2 选中左边需要上传的文件,然后拖到右边,等待 ...

  8. android 弹出AlertDialog的学习案例

    我在编写的时候,测试的关键代码: AlertDialog.Builder builder=new AlertDialog.Builder(MainPointListActivity.this); bu ...

  9. Android Studio导入第三方类库的方法

    Android Studio导入第三方类库的方法 本人也刚刚开始尝试做android app的开发,听说android studio是Google支持的android 应用开发工具,所以想应该肯定比E ...

  10. 手机设计尺寸 - iPhone界面尺寸

    参考网址: http://www.qijishow.com/down/app-index.htm iPhone界面尺寸 设备 分辨率 PPI 状态栏高度 导航栏高度 标签栏高度 iPhone6 plu ...