mysql abc_MySql ABC

2ff34e647e2e3cdfd8dca593e17d9b0a.png

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

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

数据类型

数值类型

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条件,则用不到索引

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值