关系型数据库—采用关系模型来组织数据的数据库

关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。

数据类型

数值类型

MySql支持所有标准SQL数值数据类型。

类型大小(字节)描述TINYINT1小整数值

SMALLINT2大整数值

MEDIUMINT3大整数值

INT或INTEGER4大整数值

BIGINT8极大整数值

FLOAT4单精度浮点数

DOUBLE8双精度浮点数

DECIMALDECIMAL(M, D),如果M>D为M+2,,否则为D+2小数值

日期和时间类型

每个时间类型都有一个有效值范围和一个“零”值,当指定不合法的MySql不能表示的值时使用“零”值。

类型大小(字节)描述DATE3YYYY-MM-DD

TIME3HH:MM:SS

YEAR1YYYY

DATETIME8YYYY-MM-DD HH:MM:SS

TIMESTAMP4YYYYMMDD HHMMSS

字符串类型

类型大小(字节)描述CHAR0-255定长字符串

VARCHAR0-65 535变长字符串

TINYBLOB0-255不超过255个字符的二进制字符串

TINYTEXT0-255短文本字符串

BLOB0-65 535二进制形式的长文本数据

TEXT0-65 535长文本数据

MEDIUMBLOB0-16 777 215二进制形式的中等长度文本数据

MEDIUMTEXT0-16 777 215中等长度文本数据

LONGBLOB0-4 294 967 295二进制形式的极大文本数据

LONGTEXT0-4 294 967 295极大文本数据

ACID属性

原子性

隔离性—-> 在所有的操作没有执行完之前,其他会话不能够看到中间改变的过程

一致性—-> 事务发生前后,数据总额匹配

持久性

InnoDB

是一个事务型引擎,支持回滚,具有崩溃恢复能力,支持行级锁定、ACID事务。

工作原理—-> 把数据从磁盘加载内存中,被用户进行读写,这样增加了性能。其设计理论就是充分利用内存,减少磁盘IO使用率,每次版本升级,改善最多的就是这些方面。

事务的实现

mysql在进行事务处理的时候使用的是日志先行的方式,来保证事务可快速和持久运行的,也就是在写数据前,要先写日志—包括事务日志和撤销日志(可以利用撤销日志将数据回滚到修改之前的样子)。

性能调优

表的设计—-基本满足第三范式(不存在非关键字段对任一候选关键字段的传递函数依赖)

采用合适的锁机制—-InnoDb引擎属于行级锁(开销大,加锁慢,会出现死锁,但并发度高)

选择合适的事务隔离级别

sql优化与合理利用索引—-生产环境避免使用子查询,可用left join表连接取代;select的字段正好是索引,那么就用到了覆盖索引,通过覆盖索引可以减少I/O,提高性能;加上辅助索引—-sql中or条件,则用不到索引

mysql abc_MySql ABC相关推荐

  1. db2 linux 导入数据_「软件资料」-「软件使用」-Linux 导入、导出 MySQL 数据库命令...

    一.导出数据库 1.导出完整数据:表结构+数据 Linux 下可以使用 mysqldump 命令来导出数据库,语法格式如下:mysqldump -u用户名 -p 数据库名 > 数据库名.sql ...

  2. MySQL数据库相关命令

    MySQL数据库 1.MySQL导出命令 mysqldump -h IP -u 用户名 -p 数据库名 > 导出的文件名 注:mysqldump命令是在cmd窗口初始目录下的命令,不是进入mys ...

  3. mysql 软件导出导入数据_MySQL 之 导出导入数据

    mysqldump -u 用户名 -p 数据库名 > 导出的文件名 mysqldump -u root -p --databases db_name > test_db.sql       ...

  4. mysql主从同步linux,linux中部署mysql主从同步示例详解(绝对经典,看了必会)

    准备两台服务器并安装MySQL5.7 master服务器 192.168.254.132 slave服务器 192.168.254.136 确保两台服务器安装的mysql版本一致,本测试使用的是mys ...

  5. linux下导入、导出mysql数据库命令

    一.导出数据库用mysqldump命令(注意mysql的安装路径,即此命令的路径): 1.导出数据和表结构: mysqldump -u用户名 -p密码 数据库名 > 数据库名.sql #/usr ...

  6. mysql导入导出sql文件

    window下 1.导出整个数据库 mysqldump -u 用户名 -p 数据库名 > 导出的文件名 mysqldump -u dbuser -p dbname > dbname.sql ...

  7. mysql导入导出数据库

    一.导出数据库用mysqldump命令(注意mysql的安装路径,即此命令的路径): 1.导出数据和表结构: mysqldump -u用户名 -p密码 数据库名 > 数据库名.sql #/usr ...

  8. linux 上操作mysql

    1. 登录:mysql  -u  root  -p  输入密码    设置用户密码  第一种办法:  #mysqladmin -u root password "your password& ...

  9. mysql 中的like查找不忽略大小写

    like默认情况下是忽略大小写的,但是加上collate latin1_general_cs就可以避免这种情况了 例子如下: The following two statements illustra ...

最新文章

  1. Fedora 20 安装搜狗拼音输入法
  2. 复习-css列表和表格相关属性
  3. ASP.NET Core中使用IOC三部曲(二.采用Autofac来替换IOC容器,并实现属性注入)
  4. 在Ubuntu 18.04上实际安装OpenJDK 11
  5. Maven不会吮吸。 。 。 但是Maven文件会
  6. 解决T400死机的问题!
  7. 测试笔的使用_宽带故障怎么办?毕亚兹红光笔1秒定位光纤故障,快速解决问题...
  8. zabbix1.8.5安装
  9. 大数据之-Hadoop之HDFS_HDFS_基于JAVA的开发_客户端环境准备---大数据之hadoop工作笔记0054
  10. MyCat分布式数据库集群架构工作笔记0005---Mycat的安装
  11. vscode的eslint无效_VSCode配置eslint
  12. Java并发编程的艺术(八)——闭锁、同步屏障、信号量详解
  13. 物联网毕业设计 - 基于单片机的高精度北斗定位控制终端
  14. JDY-24M钥匙标签使用说明
  15. UINO优锘:数字孪生助力运维工程场景化可视化管理
  16. 【漫画程序员涛哥】程序员是如何换灯泡的?
  17. NAT模式、路由模式、桥接模式 区别对比
  18. 批量提取CAD中文字
  19. Android 面试题
  20. oracle练习习题与答案

热门文章

  1. vscode 本地调试和本地服务
  2. WordPress疑难问题以及解决方案汇总
  3. CDH 元数据库升级
  4. springboot-2-ioc
  5. java十进制转十六进制
  6. 交互式内核图 -***
  7. 从头学习DirectDraw
  8. SQL查询单表数据(一)
  9. 机试指南第二章-经典入门-查找例题自解
  10. requests中获取请求到文本编码格式