码迷,mamicode.com
首页 > 数据库 > 详细

mysql概念

时间:2019-12-01 22:37:03      阅读:102      评论:0      收藏:0      [点我收藏+]

标签:结构   mysql   个数   ati   原子性   约束   决定   数据结构   nbsp   

# ### part1 索引树高度

# 1.表的数据行
数据量越大,树的高度就会变高,理论上3层索引树高度可以支持百万级别数据量
解决:可以使用分表,分库,数据库缓存,解决数据过大问题
# 2.索引键值过长
该索引字段存储数据太大,每个叶子节点默认可以存储16k,超过范围增加叶子节点,
解决:前缀索引 (截取前10个长度)
# 3.数据类型
char(定长,多余数据用空格补位) varchar(变长) 从数据类型角度,char比varchar快
从数据结构这个角度上看,varchar更加合理
选择合理的类型;

 

# ### part2 事务处理的四项特征 ACID
A.原子性 :
同一个十五中可能有多条sql语句,要么全部成功,要么直接回滚,作为一个完整的整体,不能再分割的最小个体
C.一致性 :
a,i,d 都是为了保证数据的一致性才提出来的,比如约束,键,在插入数据时,必须按照约定条件才能插入,保证插入数据规则上的一致性
上升到事务中,防止意外情况导致数据不统一,比如脏读,幻读,不可重复读,最终要决定数据的同步一致
在上升到主从数据库,主数据库执行这条插入数据,从数据库一定执行,保证数据一致性
I.隔离性 :
lock+isolation锁,来处理事务的隔离界别,
一个事务和另外一个事务在工作过程中彼此独立,
如果同时更改同一个数据,因为锁机制的存在,先执行的先改,其他事务需要等待
D.持久性 :
把数据写到磁盘上,保证数据的持久化存储

# 隔离性: 隔离级别
begin;
执行SQL
commit;
rollback;

脏读: 没提交的数据被读出来了
不可重读: 前后多次读取,数据内容不一样(同一个会话中,在不进行修改的时候,永远只看到同样的一套数据)
幻读 : 前后多次读取,数据总量不一样

RU : 读未提交 : 脏读,不可重读,幻读
RC : 读已提交 : 防止脏读,会出现 不可重读和幻读
RR : 可重复读 : 防止脏读,不可重复读,可能会出幻读 (默认级别)
SR : 可串行化 : 什么都能防止(多个会话窗口同步,不能并发,性能差)

mysql概念

标签:结构   mysql   个数   ati   原子性   约束   决定   数据结构   nbsp   

原文地址:https://www.cnblogs.com/banbosuiyue/p/11968021.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!