首先我们应该了解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. jqgrid 表格中筛选条件的多选下拉,树形下拉 ;文本框清除插件;高级查询多条件动态筛选插件[自主开发]

    /** * @@desc 文本框清除按钮,如果isAutoWrap为false当前文本框父级必须是relative定位,boostrap参考input-group * @@author Bear.Ti ...

  2. 小米note开启调试模式

    1.刷机为开发版本. 2.拨电话界面输入   *#*#717717#*#*  开启调试模式. 3.驱动好像会自己安装.

  3. 【AtCoder】CODE FESTIVAL 2017 qual A

    A - Snuke's favorite YAKINIKU -- #include <bits/stdc++.h> #define fi first #define se second # ...

  4. MySQL普通用户无法本地登录的解决方法及MySQL的用户认证算法

    在安装完成MySQL后,我们通常添加拥有相应权限的普通用户用来访问数据库.在使用普通用户本地登录数据库的时候,经常会出现怎么登录也无法登录的情况. 例如,我的MySQL中的用户为: mysql> ...

  5. 017 在SecureCRT中安装rz小工具

    1.安装yum 2.上传本地的文件进虚拟机 3.注意点 只是属于SecureCRT的命令,同时,在上传的位置是现在所在的位置 4.测试

  6. CodeBlocks切换中文

    下载汉化包,百度搜索 “codeblock汉化包”即可, 比如:http://www.jb51.net/softs/545123.html 将其拷贝到,此路径: X:\Program Files (x ...

  7. 洛谷 p1164 小A点菜 【dp(好题)】 || 【DFS】 【恰好完全装满】

    题目链接:https://www.luogu.org/problemnew/show/P1164 题目背景 uim神犇拿到了uoi的ra(镭牌)后,立刻拉着基友小A到了一家……餐馆,很低端的那种. u ...

  8. 爬虫之Resquests模块的使用(二)

    Requests Requests模块 Requests模块是一个用于网络访问的模块,其实类似的模块有很多,比如urllib,urllib2,httplib,httplib2,他们基本都提供相似的功能 ...

  9. 004.Docker镜像管理

    一 镜像基本操作 镜像是一个包含程序运行必要依赖环境和代码的只读文件,其本质是磁盘上一系列文件的集合.它采用分层的文件系统,将每一次改变以读写层的形式增加到原来的只读文件上.镜像是容器运行的基石. 1 ...

  10. Python + Selenium + AutoIt 模拟键盘实现另存为、上传、下载操作详解

    前言 在web页面中,可以使用selenium的定位方式来识别元素,从而来实现页面中的自动化,但对于页面中弹出的文件选择框,selenium就实现不了了,所以就需引用AutoIt工具来实现. Auto ...