当前位置: 澳门新濠3559 > 数据库 > 正文

1. 自动增长列特点澳门新濠3559 (AUTO,MySQL存储

时间:2019-10-12 05:01来源:数据库
一. 概述:  InnoDB存储引擎提供了具有提交,回滚,和崩溃苏醒本领的专业安全,相比较MYISAM的存放引擎,InnoDB写的拍卖效用差不离况且会占用更加多的磁盘空间以保留数据和目录。它的

一. 概述:

  InnoDB存储引擎提供了具有提交,回滚,和崩溃苏醒本领的专业安全,相比较MYISAM 的存放引擎,InnoDB写的拍卖效用差不离况且会占用更加多的磁盘空间以保留数据和目录。它的特色有如下:

1. 活动增进列特点 (AUTO_INCREMENT)

  InnoDB表的活动拉长列能够手工业插入,但插入的值若是是空大概是0,则实在插入的将是自行拉长的值,上面演示下

CREATE TABLE autoincre_demo
(
  i  SMALLINT NOT NULL AUTO_INCREMENT,
  NAME VARCHAR(10),
  PRIMARY KEY(i)
)ENGINE=INNODB

INSERT INTO autoincre_demo VALUES(1,'1'),(0,'2'),(NULL,3)

澳门新濠3559 1

  可以经过alter table autoincre_demo auto_increment=n 来安装自增加的初使值,该值是保存在内部存款和储蓄器中,如重启数据库这一个强制的默许值就可以丢弃。

2. 电动拉长与索引

  对于InnoDB表,自动拉长列必需是索引,假使是结合索引,也无法不是构成索引的率先列。但对此MYISAM 表,自拉长列能够是组成索引的其余列。
  这里差非常少的话下mysql的目录, 索引的重要词回顾: key(普通索引), primary key(主键索引),unique key(独一索引),index(未有约束的目录)。

  上边演示下Myisam类型的表autoincre_demo, 自动增进列d1作为组合索引第二列。

 CREATE TABLE autoincre_demo
(
  d1  SMALLINT NOT NULL AUTO_INCREMENT,
  d2  SMALLINT NOT NULL,
  NAME VARCHAR(10),
  INDEX(d2,d1)
)ENGINE=MYISAM

INSERT INTO autoincre_demo(d2,NAME) VALUES(2,'2'),(3,'3'),(4,'4'),(2,'2'),(3,'3')

澳门新濠3559 2

  上边能够看见自拉长是依据组合索引的前边几列举办排序后递增的。

3. 外键约束 

  mysql 支持外键的积累引擎只有innodb,在创建国门外键的时候,需要父表必需有照顾的目录,子表创立外键的时候也会自行创造对应的目录
上面演示五个表 country 父表country_id列为 主键索引, city子表在那之中country_id列为外键

   -- 创建父表
CREATE TABLE country
(
  country_id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
  country VARCHAR(50) NOT NULL,
  PRIMARY KEY(country_id)
)ENGINE=INNODB DEFAULT CHARSET=utf8

-- 创建子表  关联country_id
CREATE TABLE city
(
  city_id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
  country_id SMALLINT UNSIGNED NOT NULL ,
  PRIMARY KEY(city_id),
  KEY idx_fk_country_id (country_id),
  CONSTRAINT fk_city_country  FOREIGN KEY(country_id)  REFERENCES country(country_id)
  ON DELETE RESTRICT ON UPDATE CASCADE 
)ENGINE=INNODB DEFAULT CHARSET=utf8

上边先说下里面包车型大巴基本点词的意义:
  unsigned:表示无符号的野趣,也正是非负数,只用于整型。
  key: 为country_id建个目录,名称叫dx_fk_country_id。
  CONSTRAINT:关键词是束缚,外键约束名为fk_city_country,FOREIGN KEY是应和的外键字段。
  references:是引用country表的country_id字段。
在剔除更新父表时,对子表相应的操作包蕴restrict,cascade,set null 和no action。
  其中restrict与no action一样是指限制在:子表有关联记录的情事下父表不可能革新; cascade意味着父表在更新可能去除时,同有的时候候创新或删除子表相应记录。set null则代表在更新只怕去除时,子表对应字段棉被服装置为null。
叩问后在看on delete ,restrict 是指:主表删除记录时,借使子表有对应记录,则不允许删除。
  on update cascade 是指:主表更新记录时,倘使子表有对应记录,则子表对应更新;

--先维护下数据
INSERT INTO country(country) VALUES('中国');
INSERT INTO city (country_id) VALUES(1);

澳门新濠3559 3

澳门新濠3559 4

-- 先试下on delete ,restrict的作用,主表删除记录时,如果子表有对应记录,则不允许删除
DELETE FROM country WHERE country_id=1

澳门新濠3559 5

-- 再试下on update cascade 是指主表更新记录时,如果子表有对应记录,则子表对应更新;
UPDATE country SET country_id=2 WHERE country_id=1;

澳门新濠3559 6

澳门新濠3559 7

  在导入两个表数据时,就算要求忽视在此以前的导入顺序,可以临时关张外键的检讨,加速管理速度。

-- 关闭命令是
set foreign_key_checks=0;
-- 开启
set foreign_key_checks=1;

  对于INNODB类型表,外键的音讯经过选用INFORMATION_SCHEMA查看

SELECT TABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME, REFERENCED_TABLE_NAME,REFERENCED_COLUMN_NAME
FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE CONSTRAINT_SCHEMA ='test'

澳门新濠3559 8

4. 囤积方式(轻易询问)

         innodb存款和储蓄表和目录有两种方法。

         一是采纳分享表空间存款和储蓄,这种办法开创的表的表结构保留在.frm文件中,数据和目录保存在innodb_data_home_dir和innodb_data_file_path定义的表空间中,能够是多少个文件。

         二是行使多表空间存款和储蓄,这种办法开创的表的表结构保留在.frm文件中,各样表的数量和目录单独保存在.ibd中,假使是分区表,则各样分区对应单独的.ibd文件,文件名是"表名 分区名"

      供给采取多表空间存储,须求设置参数innodb_file_per_table,并再一次开动服务后生效。 新建的表就按多表空间来囤积,已有表如故选用分享表空间存款和储蓄。

   多表空间存款和储蓄的优势是便利举办单表备份和回复操作,命令如下:

ALTER TABLE tab_name DISCARD TABLESPACE
TABLE TABLE tab_name IMPORT TABLESPACE

    

 

MySQL存款和储蓄引擎笔记

  在MySQL中有一个存款和储蓄引擎的定义,针对分化的积存须求能够选取最优的存放引擎。

 

一、概述

  MySQL 5.0 扶持的存款和储蓄引擎富含MyISAM、InnoDB、BDB、MEMOGL450Y、MELacrosseGE、EXAMPLE、NDB Cluster、ARC失眠E、CSV、BLACKHOLE、FEDERATED等,此中InnoDB和BDB提供业务安全表,其余存款和储蓄引擎都以非事务安全表。

  MySQL5.5在此以前的暗许存储是MyISAM,5.5之后是InnoDB。假使要修改暗中同意的积存引擎,能够在参数文件中安装default-table-type。在创立表时,能够因此增添engine关键字设置新建表的累积引擎,举个例子:表auth_type的蕴藏引擎是MyISAM,表auth_type的存放引擎是InnoDB。

CREATE TABLE `auth_type` (
    `id` int(11) NOT NULL,
    `type_code` char(3) DEFAULT NULL COMMENT '授权类型编号',
    `type_1. 自动增长列特点澳门新濠3559 (AUTO,MySQL存储引擎笔记。name` varchar(255) DEFAULT NULL COMMENT '授权类型名称',
    PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;

CREATE TABLE `auth_user` (
    `id` int(11) NOT NULL,
    `user_name` varchar(30) DEFAULT NULL COMMENT '授权客商名称',
    `token` char(64) DEFAULT NULL COMMENT '访谈授权token',
    `created_at` timestamp NULL DEFAULT NULL COMMENT '记录创建时间',
    `updated_at` timestamp NULL DEFAULT NULL COMMENT '记录最终修改时间',
    `deleted_at` timestamp NULL DEFAULT NULL COMMENT '记录删除时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHAPAJEROSET=utf8mb4 COMMENT='授权客户表';

也得以选拔ALERT TABLE语句,将一个业已存在的表改成任何的囤积引擎。alert table auth_type engine = InnoDB

存款和储蓄引擎概述

二、各个存储引擎性子

  先看下表种种仓库储存引擎之间的界别

特 点 MyISAM InnoDB Memory Merge NDB
存储限制  有 64TB  没有
事务安全    支持      
锁机制  表锁 行锁  表锁 表锁 行锁
B树索引  支持  支持  支持  支持  支持
哈希索引      支持    支持
全文索引  支持        
集群索引    支持      
数据缓存    支持  支持    支持
索引缓存  支持  支持  支持  支持  支持
数据可压缩  支持        
空间使用  低 N/A  低
内存使用  低  高 中等  低
批量插入速度  高 低   高
支持外键    支持      

  上边将介绍最常用的4种存款和储蓄引擎:MyISAM、InnoDB、Memory和Merge。

1、MyISAM

  MyISAM 不帮忙专门的学业、不协助外键,其优势是拜见的进程快,对事情的完整性未有供给可能以SELECTINSERT为主的接纳基本上可以接纳那么些引擎来创造表。

  各类MyISAM在磁盘上囤积成3个文本,其文件名都和表名同样,但扩展名分别是:

  .frm(存款和储蓄表定义)

  .MYD(MYData,存款和储蓄数据)

  .MYI(MYIndex,存款和储蓄索引)

  数据文件和目录文件能够停放在不一样的目录,平均布满IO,获得更加快的快慢。

  在缔造表的时候经过DATA DIRECTOPRADOY和INDEX DIRECTORubiconY语句内定数据文件和目录文件的不二等秘书籍,该路线须求相对路线,並且有所访谈权限。

  MyISAM类型的表或者会被毁损,精彩纷呈的原由被磨损。损坏后的表可能否被访谈,会提示须求修补也许重临错误结果。MyISAM类型的表提供了修复工具,

CHECK TABLE 语句用于检查表的符合规律,REPAIKoleos TABLE 语句用来修补叁个破坏的表。表的破坏还只怕引致数据库的不得了运营,要求及早修复并尽量地料定损坏的从头到尾的经过。

  MyISAM的表还辅助3种差别的存款和储蓄格式,分别是:静态(固定长度)表、动态表、压缩表。

  静态表:表中的字段是非变长字段,那样种种字段都以一定长度,如char(20)。这种存款和储蓄的帮助和益处是:存款和储蓄特别便捷,轻巧缓存,出现故障轻松恢复生机;瑕疵是:占用的空间日常比动态表多。静态表的数目存储时会按给定的列宽度定义补足空格,可是利用访问时并不会拿走那几个空格。

  动态表:表中包含变长字段,比方varchar(20),记录不是定位长度。哪怕只有叁个字段是变长字段,也是动态表。这种存款和储蓄的独到之处是:占用的上空相对比较少,不过往往地换代和删除记录会发生碎片,必要定时试行OPTIMIZE TABLE 大概 myisamchk-r 命令来更始质量,并且在产出故障时回涨相对相比困难。

  压缩表:表由myisampack工具成立,侵夺非常的小的磁盘空间。因为记录是被单个压缩的,所以唯有充裕小的开垦。

2、InnoDB

  InnoDB存储引擎提供了全体提交、回滚和崩溃恢复生机工夫的工作安全。可是相比较MyISAM存款和储蓄引擎,InnoDB写的管理效用差那么一点,并且会侵夺愈来愈多的磁盘空间以保存数据和目录。

  InnoDB存款和储蓄引擎的表征:

  2.1、自动拉长列

  InnoDB表的电动增加能够手动插入,不过插入的值假使是空恐怕是0,则实在插入的将是活动增加后的值。举个例子:下表auth_user中,列id为全自动增进列,通过AUTO_INCREMENT指定。

  CREATE TABLE `auth_user` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `user_name` varchar(30) DEFAULT NULL COMMENT '授权顾客名称',
      `token` char(64) DEFAULT NULL COMMENT '访谈授权token',
      `created_at` timestamp NULL DEFAULT NULL COMMENT '记录创制时间',
      `updated_at` timestamp NULL DEFAULT NULL COMMENT '记录最后修改时间',
      `deleted_at` timestamp NULL DEFAULT NULL COMMENT '记录删除时间',
      PRIMARY KEY (`id`)
   ) ENGINE=InnoDB DEFAULT CHAXC60SET=utf8mb4 COMMENT='授权用户表';
  还可经过“ALTE昂科雷 TABLE auth_user AUTO_INCREMENT = n;”语句强制安装自动拉长的领头值,暗中认可从1最早,然而该威迫的暗许值是保留在内部存款和储蓄器中的,如若该值在运用在此以前数据库重新起动,那么那么些强制的默许值就能够丢弃,就供给在数据库运行后再也安装。
  可以会用LAST_INSERT_ID()查询当前线程最终插入记录使用的值。纵然一回插入多条记下,那么重返的是率先条记下使用的机动增加值。

  对于InnoDB表,自动拉长列必得是索引。如若是结合索引,也不能够不是构成索引的第一列,但是对于MyISAM表,自动增进列能够是整合索引的别样列,那样插入记录后,自动增加列是遵纪守法组合索引的前列举行排序后递增的。如:

  CREATE TABLE `autoincre_demo` (
      `id1` int(11) NOT NULL AUTO_INCREMENT,

      `id2` int(11) NOT NULL,
      `name` varchar(30) DEFAULT NULL COMMENT '名称'
      index (`id1`,`id2`)
   ) ENGINE=MyISAM;

  insert into `autoincre_demo`(`id2`,'name') values(2,'2'),(3,'3'),(4,'4');

  结果是:select * from `autoincre_demo`;

  

id1 id2 name
1 2 2
1 3 3
1 4 4
2 2 2
2 3 3
2 4 4

  2.2、外键约束

  MySQL补助外键的积攒引擎仅有InnoDB,在开创外键的时候,须求父表必需有对应的目录,子表在创制外键的时候也会自动创立对应的目录。

  在开创索引时,能够钦赐在剔除、更新附表时,对子表的应和操作,包蕴restrict、cascade、set null和no action。

    restrict 和 no action一样,是指限制在子表有关联记录时父表无法立异。

    cascade是指,父表在创新或删除时,更新大概去除子表对应记录。

    set null是指,父表在创新只怕去除时,子表对应的字段被set null。

  当有些表被其余表成立了外键参照,那么该表的相应索引只怕主键幸免被去除。

  在导入多个表的数目时,假设急需忽视表从前的导入顺序,可以临时关闭外键的检讨;一样,在实施LOAD DATA和ALTER TABLE操作的时候,可以经过一时关张外键约束来加速管理的进程,关闭的一声令下是“SET FOREING_KEY_CHECKS = 0;”,试行到位后,通超过实际践“SET FOREING_KEY_CHECKS = 1;”语句重回原状。

澳门新濠3559,  2.3、存储格局

  InnoDB存款和储蓄表和目录有以下二种格局。

  使用分享表空间存款和储蓄,这种形式开创的表的表结构保留在.frm文件中,数据和目录保存在innod_data_home_dir和innod_data_file_path定义的表空间中,能够是三个文件。

  使用多表空间存款和储蓄,这种情势开创的表的表结构保留在.frm文件中,可是每一种表的多少和目录单独保存在.ibd中。纵然是个分区表,则种种分区对应单独的.ibd文件,文件名是“表名 分区名”,能够在创制分区的时候钦赐各个分区的数据文件地点,以此来将表的IO均分在四个磁盘上。

  要运用多表空间的蕴藏格局,要求安装参数innodb_file_per_table,並且重新开动服务才方可生效,对于新建的表遵照多表空间的不二诀窍开创,已有的表仍使用分享表空间存款和储蓄。如果将已部分多表空间情势修改回分享表空间的方法,则新建表会在分享表空间的创办,但已有的多表空间表如故保留原本的积累格局。

  多表空间的数据文件未有高低限制,不必要安装起初大小,也无需安装文件的最大规模、扩张大小等参数。

  对于利用多表空间特点的表,能够比较实惠的展开单表备份和回复操作,但是一贯复制.ibd文件是可怜的,因为从没分享表的多少字典新闻,直接复制的.ibd文件和.frm文件复苏时是无法被识其他,不过足以透过以下命令:

  ALTER TABLE tbl_name DISCARD TABLESPACE;

  ALTER TABLE tbl_name IMPORT TABLESPACE;

  将备份复苏到数据库,可是那不得不苏醒到表原本所在的数据库中,不可能上升到此外的数据库中。能够经过mysqldump和mysqlimport来将单表复苏到对象数据库。

  注意:就算在多表空间的仓库储存方式下,分享表空间依旧是必得的,InnoDB把个中数据词典和在线重做日志放在此个文件中。

3、Memory

  Memory存款和储蓄引擎使用存在于内部存款和储蓄器中的剧情来创设表。各类Memory表只实际上对应二个磁盘文件,格式是.frm。Memory类型的表访谈速度比十分的快,因为它的数量是身处内部存款和储蓄器中的,而且私下认可使用HASH索引,不过假设服务关闭,表中的数码就可以舍弃。

  在起步MySQL服务的时候利用--init--file选项,把INSERT INTO ... SELECT 或LOAD DATA INFILE 那样的言辞归入这些文件中,就足以在劳动运营时从长久稳定的数码源装载表。

  服务器需求充裕内部存款和储蓄器来维持全数在同期使用的Memory表,当不再须求Memory表的内容之时,要释放被Memory表使用的内部存款和储蓄器,应该实行DELETE FROM 或 TRUNCATE TABLE,大概全部的删除表(使用DROP TABLE操作)。

  每种Memory表中得以放置的数据量大小,受到max_heap_table_size系统变量的束缚,那么些种类变量的开端值是16MB,能够依据需求加大。别的,在概念Memory表的时候,能够因而MAX_ROWS子句钦命表的最大行数。

  Memory类型的积存引擎主要采用于那个话语变化不频仍的代码表,也许当做总结操作的中档结果表,便于飞速地对中间结果进行深入分析并获取终极的计算结果。对存款和储蓄引擎为Memory的表实行翻新操作要小心,因为数量并从未实际写入到磁盘中,所以自然要对后一次重启服务后什么得到那几个改变的数目有所挂念。

4、Merge

  Merge存款和储蓄引擎是一组MyISAM表的结缘,那几个MyISAM表必需结构一模二样,Merge表自个儿并未数量,对Merge类型的表可以扩充询问、更新、删除,那个操作实际是对当中的MyISAM表进行的。对于Merge类型表的插入操作,是透过INSERT_METHOD子句定义插入的表,可以有3个例外的值,使用FI奥迪Q5ST也许LAST值使得插入操作被相应地功能在率先个恐怕最后叁个表上,不定义这么些子句大概定义为NO,表示不能够对那一个Merger表实行操作。

  可以对Merge表实行DROP操作,那么些操作只是删除Merge的概念,对当中的表未有别的的震慑。

  在磁盘上保留两个文本,文件名以表的名字开端,贰个.frm文件存款和储蓄表定义,另三个.mrg文件富含组合表的新闻,包罗Merge表由什么表组成、插入新数据的基于。能够经过修改.mrg文件来修改Merge表,可是修改后要透过flush tables刷新。

  Merger表和分区表的区分是,Merger表并不可能智能地将记录写到对应的表中,而是写入到应用FICR-VST或许LAST值钦定的表中。不过分区表能够。经常大家选取Merger表来透明地对三个表张开询问和更新操作,而这种依据时间记下的操作日志表则足以透明地开展插队操作。

插件式存款和储蓄引擎是MySQL数据库的显要特点之一,顾客能够借助使用的内需选用什么样存款和储蓄和目录数据、是否使用事物等  www.2cto.com  

三、怎样挑选适当的存放引擎

  在采用仓储引擎时,应凭假如用特点采用适用的蕴藏引擎。对于复杂的运用体系,还足以凭借实情采用多样仓储引擎实行整合。

  MyISAM:倘使采取是以读操作和插入操作为主,唯有非常少的更新和删除操作时,并且对作业的完整性、并发性需要不是相当高,那么采取那么些蕴藏引擎是可怜适用的。MyISAM是在Web、数据存款和储蓄和别的应用情况下最常使用的仓储引擎之一。

  InnoDB:用于事务管理应用程序,匡助外键。如果采纳对作业的完整性有相比较高的渴求,在出现条件下须求数据的一致性,数据操作除了插入和询问外,还包涵过多的更新、删除操作,那么InnoDB存款和储蓄引擎应该是比较切合的抉择。InnoDB存款和储蓄引擎除了有效的减退了删减和创新导致的锁定,还足以确认保证业务的完整性提交(commit)和回滚(rollback),对于临近计费系统或然财务系统等对数据精确性供给相比高的系统,InnoDB都以妥当的挑选。

  Memory:将兼具数据保存在RAM中,在要求火速稳定记录和任何类似数据的景况下,可提供相当高速的访谈。Memory的后天不足是对表的大大小小限制,太大的表不可能缓存在内部存款和储蓄器中,其次是要确认保障表的数目足以还原,数据卓殊终止后表中的数据是可还原的。Memory表常用于更新不太频仍的小表,用于火速得到访谈结果。

  Merge:用于一系列一样的MyISAM表以逻辑方式结合在一同,并作为一个对象援用它们。Merge表的利害在于能够突破对单个MyISAM表大小的限量,并且通过将不一样的表布满在多个磁盘上,能够有效地立异Merge表的探问功能。那对于诸如数码存款和储蓄等VLDB遇到十分合适。

  

参照他事他说加以考察:深入显出MySQL:数据库开拓、优化与管理维护

特点

MyISAM

InnoDB

Memory

东西安全

 

支持

 

锁机制

表锁

行锁

表锁

索引类型

B树索引

全文索引

B树索引

集群索引

B树索引

哈希索引

数据缓存

 

支持

支持

目录缓存

支持

支持

支持

扶持外键

   www.2cto.com  

支持

 

存款和储蓄引擎性情

MyISAM(ISAM → Indexed Sequential Access Method )引擎

a)         MyISAM

短处:不协理事物、不协助外键

优势:访问速度快

适用:对事物完整性无供给、并发性不高或以select和insert操作为主的行使(web、数据宾馆等)

b)        MyISAMy表存款和储蓄格式

静态表:存款和储蓄快捷、轻巧缓存、故障苏醒轻便(注:数据最终的空格会被电动删除)

动态表:空间攻下小,删除和翻新易产生碎片化(注:optimize table或myisamchk -r碎片整理)

压缩表:每条记下单独压缩、访谈耗费小

InnoDB引擎

a)       InnoDB

劣点:写操作功效差、占用越多磁盘(保留数据和目录)

优势:事物安全、扶植外键

适用:对事物完整性和出现下得一致性供给高而且有相当多更新、删除操作(InnoDB有效裁减了删减更新导致的表锁定)的使用(计费、财务系统等)

b)      自动增加体系

  1.       自动拉长列必需是索引。

  2.       假诺是构成索引,则自动拉长列必需是第一列(MyISAMy可为别的列,MyISAMy是根据前几列排序后递增的)

例:

create table autoincrease_demo_myisam

(t1 smallint not null auto_increment,

 t2 smallint not null,  www.2cto.com  

 name varchar(20),

 index(t2,t1)

)engine =myisam;

依次插入以下数据

t1

2

2

2

3

3

2

2

2

2

2

3

3

2

2

t2

2

3

2

3

4

2

3

2

3

2

3

4

2

3

查阅数据库的中数据:select * from autoincrease_demo_myisam order by t2,t1;

---- ---- ------

| t1 | t2 | name |

---- ---- ------

|  1 |  2 | 2    |

|  2 |  2 | 3    |

|  3 |  2 | 2    |

|  4 |  2 | 2    |

|  5 |  2 | 3    |

|  6 |  2 | 2    |

|  7 |  2 | 3    |

|  8 |  2 | 2    |

|  9 |  2 | 2    |

| 10 |  2 | 3    |

|  1 |  3 | 3    |

|  2 |  3 | 4    |

|  3 |  3 | 3    |

|  4 |  3 | 4    |

---- ---- ------

c)       外键约束

MySQL帮助外键的仓库储存引擎独有InnoDB。在开创外键的时候,要求父表必需有相应的目录,字表在创设外键的时候也会创制对应的目录。外键关联的操作主要有restrict、cascade、set null、no action.  www.2cto.com  

restrict、no action:在子表有涉嫌记录的气象父表无法创新。

cascade:父表在更新或然去除时,更新恐怕去除子表对应记录。

set null:父表在更新大概去除时,字表对应的字段被set null。

d)      存款和储蓄格局

分享表空间存款和储蓄:全数的数码和目录保存在innodb_data_home_dir和innodb_data_file_path定义的表空间中,能够是八个文本。

独立表空间存款和储蓄:每一种表的数码和目录单独保存在本人的表空间中。(单表备份和还原较有利)

Memory引擎

a)       优点:Memory存款和储蓄引擎使用存款和储蓄在内部存款和储蓄器中的内容创制表,暗中同意使用HASH索引。表访问不慢(在起步服务的时候可以应用--init-file选项将insert into ,select 或load data infile那样的语句放入这几个文件,就足以再服务运营时从漫长稳定的数量源装载表。)

b)      缺点:表大小有限定,服务关闭表中的多少就会舍弃

c)       适用:内容改换不频繁,作为总计操作的中档结果表。

 

 

作者 xinhanggebuguake

存储引擎概述 插件式存款和储蓄引擎是MySQL数据库的至关重大特色之一,客商能够根据使用的须求选用怎么样存款和储蓄和目录数据、是还是不是使...

编辑:数据库 本文来源:1. 自动增长列特点澳门新濠3559 (AUTO,MySQL存储

关键词: 澳门新濠3559