存储引擎

MyIsam和InnoDB存储引擎的区别和使用场景

我们两清 提交于 2019-11-28 05:05:59
两种存储引擎的区别: 一、InnoDB支持事务,MyISAM不支持,这一点是非常之重要。事务是一种高级的处理方式,如在一些列增删改中只要哪个出错还可以回滚还原,而MyISAM就不可以了。 二、MyISAM适合查询以及插入为主的应用,InnoDB适合频繁修改以及涉及到安全性较高的应用 三、InnoDB支持外键,MyISAM不支持 四、MyISAM是默认引擎,InnoDB需要指定 五、InnoDB不支持FULLTEXT类型的索引 六、InnoDB中不保存表的行数,如select count(*) from table时,InnoDB需要扫描一遍整个表来计算有多少行,但是MyISAM只要简单的读出保存好的行数即可。注意的是,当count(*)语句包含where条件时MyISAM也需要扫描整个表 七、对于自增长的字段,InnoDB中必须包含只有该字段的索引,但是在MyISAM表中可以和其他字段一起建立联合索引 八、清空整个表时,InnoDB是一行一行的删除,效率非常慢。MyISAM则会重建表 九、InnoDB支持行锁(某些情况下还是锁整表,如 update table set a=1 where user like '%lee%'),MyISAM支持表锁。 来源: https://www.cnblogs.com/ldddd/p/11392949.html

Hive配置Mysql作为外置存储引擎(配置MySql的metastore)

此生再无相见时 提交于 2019-11-28 03:47:36
Hive是什么? Hive是基于Hadoop之上的数据仓库; Hive是一种可以存储、查询、分析存储在hadoop中的大规模数据 Hive定义了简单的类SQL查询语言,成为HQL,它允许熟悉SQL的用户查询数据 允许熟悉 MapReduce开发者的开发自定义的mapper和reducer来处理内建的mapper和reducer无法完成的复杂的分析工作 Hive没有专门的数据格式 Hive:数据仓库。 Hive:解释器,编译器,优化器等。 Hive运行时,元数据存储在关系型数据库里面。 1. 为什么选择 Hive 基于 Hadoop的大数据的计算/扩展能力 支持 SQL like查询语言 统一的元数据管理 简单编程 2.Hive内部是什么 Hive是建立在Hadoop上的数据仓库基础架构。它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。Hive定义了简单的类SQL查询语言,称为QL,它允许熟悉SQL的用户查询数据。同时,这个语言也允许熟悉MapReduce开发者的开发自定义的mapper和reducer来处理内建的mapper和reducer无法完成的复杂的分析工作。 本质上讲, Hive是一个SQL解析引擎,Hive可以把SQL查询转换为MapReduce中的job来运行。Hive有一套映射工具

面试题总结:可能是全网最好的MySQL重要知识点

为君一笑 提交于 2019-11-28 03:17:20
标题有点标题党的意思,但希望你在看了文章之后不会有这个想法——这篇文章是作者对之前总结的 MySQL 知识点做了完善后的产物,可以用来回顾MySQL基础知识以及 备战MySQL常见面试问题 。 什么是MySQL? MySQL 是一种关系型数据库,在Java企业级开发中非常常用,因为 MySQL 是开源免费的,并且方便扩展。阿里巴巴数据库系统也大量用到了 MySQL,因此它的稳定性是有保障的。MySQL是开放源代码的,因此任何人都可以在 GPL(General Public License) 的许可下下载并根据个性化的需要对其进行修改。MySQL的默认端口号是 3306 。 事务相关 什么是事务? 事务是逻辑上的一组操作,要么都执行,要么都不执行。 事务最经典也经常被拿出来说例子就是转账了。假如小明要给小红转账1000元,这个转账会涉及到两个关键操作就是:将小明的余额减少1000元,将小红的余额增加1000元。万一在这两个操作之间突然出现错误比如银行系统崩溃,导致小明余额减少而小红的余额没有增加,这样就不对了。事务就是保证这两个关键操作要么都成功,要么都要失败。 事物的四大特性(ACID)介绍一下? 原子性: 事务是最小的执行单位,不允许分割。事务的原子性确保动作要么全部完成,要么完全不起作用; 一致性: 执行事务前后,数据保持一致,多个事务对同一个数据读取的结果是相同的; 隔离性:

触发器权限存储引擎等~

强颜欢笑 提交于 2019-11-27 23:04:03
关于mysql的笔记 触发器,存储过程 mysql用户,权限 存储引擎 缓存,索引 官网链接 https://dev.mysql.com/ mysql https://mariadb.com/ mariadb 触发器 TRIGGER 触发形式:事件 创建权限:root用户 查看:show triggers 删除: drop trigger trigger_name CREATE TRIGGER trigger_name trigger_time trigger_event ON tbl_name FOR EACH ROW trigger_body # CREATE TRIGGER 触发器名称 事件前后 触发条件ON 触发表(不是被触发的表) FOR EACH ROW 触发事件 存储过程 PROCEDURE 提前编译完成后的方法,提高运行速度和降低网络传输大小 CREATE PROCEDURE sp_name ( [IN|OUT|INOUT]) begin 中间代码 end 查看存储过程列表 SHOW PROCEDURE STATUS; 查看存储过程的定义 SHOW CREATE PROCEDURE sp_name; 调用 CALL sp_name(更具定义决定是否带参数) 删除存储过程 DROP PROCEDURE sp_name 简单描述一下

表操作

巧了我就是萌 提交于 2019-11-27 22:23:13
一、存储引擎——表类型 1.什么是引擎 库===>文件夹 表===>文件 现实生活中我们用来存储数据的文件有不同的类型,每种文件类型对应各自不同的处理机制:比如处理文本用txt类型,处理表格用excel,处理图片用png等 数据库中的表也应该有不同的类型,表的类型不同,会对应mysql不同的存取机制, 表类型又称为存储引擎 。 在Oracle 和SQL Server等数据库中只有一种存储引擎,所有数据存储管理机制都是一样的。而MySql 数据库提供了多种存储引擎。用户可以根据不同的需求为数据表选择不同的存储引擎,用户也可以根据 自己的需要编写自己的存储引擎 2.四种常用引擎 Innodb:  默认的存储引擎 查询速度较myisam慢 但是有行锁更安全 myisam: mysql 老版本用的存储引擎,有索引速度快 memory: 内存引擎(数据全部存在内存中,重启数据清空) blackhole: 无论存什么 都立马消失(黑洞) show engines; 或者 show engines\G #查看所有支持的存储引擎 show variables like 'storage_engine%'; #查看正在使用的存储引擎 #InnoDB 存储引擎 支持事务,其设计目标主要面向联机事务处理(OLTP)的应用。其 特点是行锁设计、支持外键,并支持类似 Oracle 的非锁定读

存储引擎 数据类型

笑着哭i 提交于 2019-11-27 21:47:26
不同的数据应该有不同的处理机制 mysql存储引擎 Innodb:默认的存储引擎 查询速度较myisam慢 但是更安全 myisam:mysql老版本用的存储引擎 memory:内存引擎(数据全部存在内存中) blackhole:无论存什么 都立马消失(黑洞) show engines; 查看所有存储引擎存取数据的特点 数据类型   整型, 浮点型, 字符类型, 日期类型, 枚举与集合类型 约束    not null, unique, default, primary key ... 创建表的完整语法 create table 表名( 字段名1 类型[(宽度) 约束条件], 字段名2 类型[(宽度) 约束条件], 字段名3 类型[(宽度) 约束条件] ); 注意:   1.字段名和字段类型是必须的 中括号内的参数都是可选参数 2.同一张表中字段名不能重复 3.最后一个字段后面不能加逗号 宽度: 使用数据库的准则: 能尽量让它少干活就尽量少干活 对存储数据的限制 char(1) 只能存一个字符, 如果超了mysql会自动帮你截取 1.插入的时候 mysql自动截取 2.会直接报错(mysql严格模式) alter table t5 modify name char not null; not null该字段不能插空 类型和中括号内的约束 类型约束的是数据的存储类型 ,

【MySQL】存储引擎

浪子不回头ぞ 提交于 2019-11-27 21:29:22
原文: http://blog.gqylpy.com/gqy/245 " 目录 #. MySQL支持的存储引擎 1. InnoDB 2. MyISAM 3. NDB 4. Memory 5. Infobright 6. NTSE 7. BLACKHOLE MySQL中的库即文件夹,表即文件 现实生活中我们用来存储数据的文件有不同的类型,每种文件类型对应各自不同的处理机制.(如:处理文本用txt类型,处理表格用excel, 处理图片 用png等) 数据库中的表也应该有不同的类型,表的类型不同,会对应mysql不同的存取机制,表类型又称为存储引擎. PS:存储引擎说白了就是如何存储数据,如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。因为在关系数据库 中数据 的存储是以表的形式存储的,所以存储引擎也可以称为表类型(即存储和操作此表的类型) 在Oracle和SQL Server等数据库中只有一种存储引擎,所有数据库存储管理机制都是一样的,而MySQL数据库提供了多种存储引擎,用户可以根据不同的需求为数据表选择不同的存储引擎,用户也可以根据自己的需要编写自己的存储引擎。 ![在这里插入图片描述](http://blog.gqylpy.com/media/ai/2019-03/f065e887-be54-4608-a236-c400c1478427.png) SQL解释器

Python 存储引擎 数据类型 主键

☆樱花仙子☆ 提交于 2019-11-27 21:26:14
一 存储引擎 1.不同的数据应该有着不同的处理机制 2.常见的存储引擎和特点 #1.Inodb: mysql默认的存储引擎,查询速度比Myisam引擎较慢,但是更安全。 #2.Myisam: 老版本的mysql的存储引擎 #3.memory:内存引擎(数据全部存在内存中,服务端重启数据就不存在了) #blackhole:无论存什么立马消失 3.查看数据库的所有引擎: show engines; 二 数据库中的数据类型 整型 1.分类:TINYINT SMALLINT MEDIUMINT INT BIGINT 2.作用:存储年龄,等级,id,各种号码等 3.注意:只有整型后面的数字不是用来限制存储数据的长度 而是用来控制展示的数据的位数: int(8) 够/超8位有几位存几位,不够8位空格填充。 create table t4(x int(8)); insert into t4 values(4294967296123); # 显示时,不够8位用0填充,如果超出8位则正常显示 create table t5(x int(8) unsigned zerofill); insert into t5 values(4294967296123); # create table t6(id int(10) unsigned); # create table t7(id int(11));

MySQL存储引擎之InnoDB

谁说胖子不能爱 提交于 2019-11-27 18:56:33
MySQL默认存储引擎为InnoDB,可以通过使用命令SHOW VARIABLES LIKE 'storage_engine'; 一、InnoDB存储引擎 1.InnoDB是事务型数据库的首选引擎,支持事务安全表(ACID)  (MyISAM:不支持事务; 只支持表级锁 ) 事务的ACID属性:即原子性、一致性、隔离性、持久性 a.原子性:原子性也就是说这组语句要么全部执行,要么全部不执行,如果事务执行到一半出现错误,数据库就要回滚到事务开始执行的地方。 实现:主要是基于MySQ日志系统的redo和undo机制。事务是一组SQL语句,里面有选择,查询、删除等功能。每条语句执行会有一个节点。例如,删除语句执行后,在事务中有个记录保存下来,这个记录中储存了我们什么时候做了什么事。如果出错了,就会回滚到原来的位置,redo里面已经存储了我做过什么事了,然后逆向执行一遍就可以了。 b.一致性:事务开始前和结束后,数据库的完整性约束没有被破坏。(eg:比如A向B转账,不可能A扣了钱,B却没有收到) c.隔离性:同一时间,只允许一个事务请求同一数据,不同的事务之间彼此没有任何干扰; 如果不考虑隔离性则会出现几个问题: i、脏读:是指在一个事务处理过程里读取了另一个未提交的事务中的数据(当一个事务正在多次修改某个数据,而在这个事务中这多次的修改都还未提交,这时一个并发的事务来访问该数据

尚硅谷MySQL高级学习笔记

给你一囗甜甜゛ 提交于 2019-11-27 18:12:06
目录 数据库MySQL学习笔记高级篇 写在前面 1. mysql的架构介绍 mysql简介 mysqlLinux版的安装 mysql配置文件 mysql逻辑架构介绍 mysql存储引擎 2. 索引优化分析 性能下降SQL慢 常见通用的Join查询 索引简介 性能分析 索引优化 3. 查询截取分析 查询优化 慢查询日志 批量数据脚本 Show Profile 全局查询日志 4. MySQL锁机制 概述 三锁 5. 主从复制 复制的基本原理 复制的基本原则 复制的最大问题 一主一从常见配置 数据库MySQL学习笔记高级篇 写在前面 学习链接: 数据库 MySQL 视频教程全集 1. mysql的架构介绍 mysql简介 概述 高级Mysql 完整的mysql优化需要很深的功底,大公司甚至有专门的DBA写上述 mysql内核 sql优化工程师 mysql服务器的优化 各种参数常量设定 查询语句优化 主从复制 软硬件升级 容灾备份 sql编程 mysqlLinux版的安装 mysql5.5 下载地址:https://dev.mysql.com/downloads/mysql/5.5.html#downloads 检查当前系统是否安装过mysql: 查询命令:rpm -qa|grep -i mysql 删除命令:rpm -e RPM软件包名称 删除自带的mysql:yum -y remove