首先我们应该了解mysql中的一个重要特性——插件式存储引擎,从名字就能够看出在mysql中,用户能够依据自己的需求随意的选择存储引擎。实际上也是这样。即使在同一个数据库中。不同的表也能够使用不同的存储引擎。Mysql中支持的存储引擎有非常多种,这个能够去baidu或者google,本文主要说两种比較经常使用的存储引擎。myisam和innodb。

myisam的特点是
1)索引和数据分开存储,myisam有三个文件(.frm文件,存储表定义;.MYI存储索引 my index。  MYD存储数据 my data)
2)不支持事务以及外键
3)支持全文索引
4)支持数据压缩(myisam支持3种不同存储格式。静态表,动态表,压缩表)
5)Select和Insert效率较高。所以一般以Select和insert为主的应用使用myisam存储引擎。
6)表锁

innodb的特点
1)支持外键和事务
2)假设非常多是update和delete操作,那么选择innodb是合适的。
3)数据和索引存储在一起。
4)innodb不支持全文索引
5)InnoDB 中不保存表的详细行数。也就是说,运行select count(*) from table时。InnoDB要扫描一遍整个表来计算有多少行,可是MyISAM仅仅要简单的读出保存好的行数就可以。注意的是。当count(*)语句包括 where条件时。两种表的操作是一样的。
6)行级锁

在对于字符串存储的时候,假设是myisam建议使用固定长度数据列
假设使用innodb,建议使用varchar数据类型

================================华丽切割线===================================================

以下简单提一下mysql中字符集的选择

通常是这种。假设数据库仅仅是须要支持一般中文,那么使用gbk就够了。不须要使用uft8。原因是gbk一个汉字2个字节,utf8中一个汉字3个字节。

mysql的字符集有两个概念,一个是字符集,一个是校对规则
字符集用来定义存储字符串的方式
校对规则用来定义字符串的比較方式
假设校对规则是ci(比較时,大写和小写不敏感) cs(比較时大写和小写敏感)。bin(二元,和字符编码有关)

怎样改动一个数据库中的字符集呢?
假设没有数据,直接改动就是,可是假设数据库中已经存在数据,那么怎样改动字符集呢?
1)导出表结构
2)手动改动导出的表结构(一个sql文件A.sql)
3)导出全部记录(B.sql)
4)改动B.sql中的set names utf8
5)使用新的字符集创建数据库
6)创建表
7)导入数据





mysql存储引擎的一点学习心得总结的更多相关文章

  1. mysql存储引擎之myisam学习

    myisam存储引擎特点:1.不支持事务2.表级锁定(更新时锁整个表,其索引机制是表级索引,这虽然可以让锁定的实现成本很小,但是也同时大大降低 了其并发性能) 3.读写互相阻塞:不仅会在写入的时候阻塞 ...

  2. mysql存储引擎之innodb学习

    innodb引擎特点1.支持事务:支持4个事务隔离级别,支持多版本读. 2.行级锁定(更新时一般是锁定当前行):通过索引实现,全表扫描仍然会是表锁,注意间隙 锁的影响 3.读写阻塞与事务隔离级别有关 ...

  3. 重新学习MySQL数据库3:Mysql存储引擎与数据存储原理

    重新学习Mysql数据库3:Mysql存储引擎与数据存储原理 数据库的定义 很多开发者在最开始时其实都对数据库有一个比较模糊的认识,觉得数据库就是一堆数据的集合,但是实际却比这复杂的多,数据库领域中有 ...

  4. SQL学习笔记三(补充-1)之MySQL存储引擎

    阅读目录 一 什么是存储引擎 二 mysql支持的存储引擎 三 使用存储引擎 一 什么是存储引擎 mysql中建立的库===>文件夹 库中建立的表===>文件 现实生活中我们用来存储数据的 ...

  5. MySQl学习-——Mysql体系结构与Mysql存储引擎

    Mysql体系结构与Mysql存储引擎 Mysql体系结构 mysql体系结构图:

  6. MYSQL初级学习笔记二:数据表相关操作及MySQL存储引擎!(视频序号:初级_5,7-22|6)

    知识点三:数据表相关操作(5,7-22) --------------------------------整型--------------------------------- --测试整型 CREA ...

  7. mysql 存储引擎学习

    现在我们常用的MySQL存储引擎主要是两种:InnoDB and MyISAM. 1.MyISAM 执行效率高 不支持事务 不支持外键 每个MyISAM在磁盘上存储成3个文件,其中文件名和表名都相同, ...

  8. MySQL高级学习笔记(三):Mysql逻辑架构介绍、mysql存储引擎

    文章目录 Mysql逻辑架构介绍 总体概览 总体概览 mysql存储引擎 查看命令 看你的 mysql 现在已提供什么存储引擎 : 看你的 mysql 当前默认的存储引擎 : 各个引擎简介 MyISA ...

  9. {MySQL存储引擎介绍}一 存储引擎解释 二 MySQL存储引擎分类 三 不同存储引擎的使用

    MySQL存储引擎介绍 MySQL之存储引擎 本节目录 一 存储引擎解释 二 MySQL存储引擎分类 三 不同存储引擎的使用 一 存储引擎解释 首先确定一点,存储引擎的概念是MySQL里面才有的,不是 ...

随机推荐

  1. 《剑指offer》-统计整数二进制表示中1的个数

    题目描述 输入一个整数,输出该数二进制表示中1的个数.其中负数用补码表示. 直观思路就是把二进制表示从右往左统计1的个数.直接想到移位操作来迭代处理.坑点在于负数的移位操作会填充1.有人贴出了逻辑移位 ...

  2. ERP发货系统的修改(四十三)

    产品添加批号后相应修改产品库存表中对应批次产品的数量: /// <summary> /// 产品添加批号后相应修改产品库存表中对应批次产品的数量 /// </summary> ...

  3. 【C++ Primer | 15】C++虚函数表剖析②

    多重继承 下面,再让我们来看看多重继承中的情况,假设有下面这样一个类的继承关系. 注意:子类只overwrite了父类的f()函数,而还有一个是自己的函数(我们这样做的目的是为了用g1()作为一个标记 ...

  4. Android APN

    https://www.cnblogs.com/sishuiliuyun/p/3754516.html android系统把所有的APN都保存在数据库中,数据库绝对路径:/data/data/com. ...

  5. [OpenCV-Python] OpenCV 中图像特征提取与描述 部分 V (一)

    部分 V图像特征提取与描述 OpenCV-Python 中文教程(搬运)目录 29 理解图像特征 目标本节我会试着帮你理解什么是图像特征,为什么图像特征很重要,为什么角点很重要等.29.1 解释 我相 ...

  6. ASP.NET Core 文件系统

    ASP.NET Core 文件系统 静态文件 目录浏览 默认页面 MIME类型配置 实战文件服务器  紧接上一讲 中间件 之后,今天来我们来讲一下关于 ASP.NET  Core 中静态文件服务. 什 ...

  7. SQL server学习(四)T-SQL编程之事务、索引和视图

    今天来分享下T-SQL高级编程中的事务.索引.视图,可以和之前的SQL server系列文章结合起来. 一.事务 事务(TRANSACTION)是作为单个逻辑工作单元执行的一系列操作,这些操作作为一个 ...

  8. Web大前端面试题-Day12

    1.前端需要注意哪些SEO? 合理的title.description.keywords: 搜索对着三项的权重逐个减小, title值强调重点即可, 重要关键词出现不要超过2次, 而且要靠前, 不同页 ...

  9. curl解压gzip页面gzcompress内容

    $headers = array( //"Content-type:application/json;charset='utf-8'", "Cache-Control:n ...

  10. 潭州课堂25班:Ph201805201 WEB 之 JS 第四课 (课堂笔记)

    JS 引入方式 在 HTML 中写入 写在 的标签里 <script> </script>推荐 放在 </body> 结束之前 <!DOCTYPE html& ...