| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> MYSQL数据库的基本操作一(建库选存储引擎) -> 正文阅读 |
|
[大数据]MYSQL数据库的基本操作一(建库选存储引擎) |
一,创建数据库 create database xxx(数据库名称) 二,查看当前存在的所有数据库 show? databases 三, 删除数据库 drop database xxx(数据库名称) 四,数据库存储引擎 ?1> 查看引擎? ? ? ?show engines ?2>InnoDB 存储引擎 ? ? InnoDB? 是事务性数据库的首选引擎,支持事务安全表(ACID,?ACID是原子性(atomicity /??t??m?s?ti/)、一致性(consistency /k?n?s?st?nsi/)、隔离性(isolation?/?a?s??le??n/)和持久性(durability /?dj??r??b?l?ti/)的缩写),支持行锁定和外键,是默认的存储引擎,主要特征有: ? ? 1)InnoDB? 给Mysql提供了具有提交,回滚和崩溃恢复能力的事务安全(ACID兼容)存储引擎,InnoDB 锁定在行级并且也在select? 语句中提供一个类似Oracle 的非锁定读。这些功能增加了多用户部署和性能。? 在sql? ?查询中,可以自由地将InnoDB类型的表与其他Mysql的表的类型混合起来,甚至在同一查询中也可以混用。 ? ? 2)InnoDB是为处理巨大数据量的最大性能设计。它的CPU效率可能是任何其它基于磁盘的关系数据库引擎所不能匹敌的。 ? ? 3)InnoDB存储引擎完全与Mysql 服务器整合,InnoDB? 存储引擎为在主内存中缓存数据和索引而维持它自己的缓冲池。InnoDB将它的表和索引存在一个逻辑表空间中,表空间可以包含数个文件(或原始磁盘分区)。这与MYISAM表不同,比如在MyISAM表中每个表被存在分离的文件中。InnoDB表可以是任何尺寸,即使在文件尺寸被限制为2GB? 的操作系统上。 ? ? 4)InnoDB支持外键完整性约束(Foreign key): ? ? ? ? ? ? 存储表中的数据时,每张表的存储都按主键顺序存放,如果没有显示在表定义时指定主键,InnoDB 会为每一行生成一个6B? 的rowid, 并以此作为主键。 ? ? ?5)InnoDB被用在众多需要高性能的大型数据库站点上。 ? ? ? ? ? ? InnoDB不创建目录,使用InnoDB时,Mysql将在Mysql 数据目录下创建一个名为ibdata1的10MB 大小的自动扩展数据文件,? ?以及俩个名为id_logfile()和id_logfile1的5MB大小的日志文件。 ? 3> MyISAM存储引擎 ? ? ? MyISAM基于ISAM的存储引擎,并对其进行扩展,它是在WEB,数据存储和其他应用环境下最常使用的存储引擎之一。MyISAM拥有较高的插入,查询速度,但不支持事务,也是默认的存储引擎,主要特征有: ? ? ?1) 大文件(达63位文件长度)在支持大文件的文件系统和操作系统上被支持。 ? ? ? 2)当把删除,更新及插入操作混合使用的时候,动态尺寸的行产生更少碎片,这要通过合并相邻被删除的块,以及若下一个块被删除,就扩展到下一块来自动完成。 ? ? ? 3)每个MyISAM表最大索引数是64,这可通过重新编译来改变。每个索引最大列数是16个。 ? ? ? 4)最大的键长度是1000B, 这也可以通过编译来改变。对于键长度超过250B的情况,一个超过1024B的键将被用上。 ? ? ? 5)BLOB和TEXT列可以被索引。(BLOB用来保存二进制数据,比如照片;而TEXT只能保存字符数据) ? ? ? 6)NULL值被允许在索引的列中,占0-1个字节。? ? ? ? 7)所有数字键值以高字节优先被存储以允许一个更高的索引压缩。 ? ? ? 8)每表一个AUTO_INCREMENT列的内部处理,MyISAM 为insert,update操作自动更新这一列。这使得AUTO_INCREMENT? 列更快。在序列顶的值被删除后就不能在利用。 ? ? ? 9)可以把数据文件和索引文件放在不同目录。 ? ? ?10)每个字符列可以有不同的字符集。 ? ? ? 11)有VARCHAR的表可以固定或动态固定长度。 ? ? ? 12)VARCHAR? 和CHAR? 列可以多达64KB。 使用MyISAM? 引擎创建数据库,将产生3个文件。文件的名字以表的名字开始,扩展名指出文件类型,frm 文件存储表定义,数据文件的扩展名为.MYD(MYData), 索引文件扩展名是.MYI(MYIndex) ?4>MEMORY 存储引擎 ? ? ? memory 存储引擎将表中的数据存储到内存中,为查询和引用其他表数据提供快速访问。主要特征有: ? ? ?1)memory 表的每个表可以有多达32个索引,每个索引16列,以及500B的最大键长度。 ? ? ?2)memory 存储引擎执行hash 和 btree 索引。 ? ? ?3)可以在一个memory 表中有非唯一键。 ? ? ?4)memory?表使用一个固定的记录长度格式。 ? ? ?5)memory 不支持BLOB和TEXT列。 ? ? ?6)memory 支持auto_increment 列和对可包含NULL值的列的索引。 ? ? ?7)memory? 表在所有客户端之间共享(就像其他任何非temporary 表)。 ? ? ?8)memory 表内容被存在内存中,内存是memory 表和服务器在查询处理时的空闲中创建的内部表共享。 ? ? ?9)当不需要memory? 表的内容时,要释放被memory 表使用的内存,应该执行delete from 或 truncate table,或者删除整个表(使用drop table) 五,存储引擎的选择? (一个数据库中可以使用不同的引擎,提高性能)
? ? ? ? ? ? 如果要提供提交,回滚,崩溃恢复能力且要求实现并发控制,选择InnoDB ? ? ? ? ? ? 如果表主要是用来插入查询记录,MyISAM引擎能提供较高的效率 ? ? ? ? ? ? 如果要临时存放数据且数据量不大,不需要较高的数据安全性,可以将数据保存在内存的Memory引擎, ? ? ? ? ? ?如果只有insert,select 操作,可以选择Archive 引擎,支持较高的并发操作,但本身并不是事务安全的,适合归档数据,如日志 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 7:03:37- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |