笔筒虫
笔筒虫
全部文章
MySQL数据库
Java多线程&并发(13)
Java常用类库(5)
Java常识(6)
Java虚拟机(6)
《深入理解Java虚拟机》读书小册(8)
《深入理解Java虚拟机》读书笔记(7)
剑指offer题解(13)
未归档(65)
算法基础(5)
计算机操作系统(3)
计算机网络(6)
通过UML和小DEMO学习设计模式(10)
归档
标签
去牛客网
登录
/
注册
笔筒虫的博客
全部文章
/ MySQL数据库
(共7篇)
问十五:MyISAM与InnoDB如何加锁?
1.MyISAM默认使用的是表级锁,不支持行级锁 2.InnoDB默认用的是行级锁,也支持表级锁 MyISAM不支持事物 InnoDB支持事物 表级锁就是在一个session访问的时候,MyISAM会将整个表给锁起来(读锁),如果有新session对这个表进行增删改时(写锁),会...
2019-04-26
0
490
问十四:char和varchar的区别是什么?
首先明确的是,char的长度是不可变的,而varchar的长度是可变的。 定义一个char[10]和varchar[10],如果存进去的是‘abcd’,那么char所占的长度依然为10,除了字符‘abcd’外,后面跟六个空格,而varchar就立马把长度变为4了,取数据的时候,char...
2019-04-26
0
523
问十三:说说数据库范式?
1NF:强调的是列的原子性,即一个列不能再分成其它几列。 2NF:首先强调必须满足1NF,其次满足:一是表必须包含主键;而是非主键的列不能部分依赖主键,必须完全依赖。 3NF:首先遵循前面两个范式,同时任何非主属性不依赖其它非主属性(即非主属性之间不能相互依赖)。 范式化设计...
2019-04-26
0
0
问十二:如何优化一个索引?
1. 独立的列 在进行查询时,索引列不能是表达式的一部分,也不能是函数的参数,否则无法使用索引。例如下面的查询不能使用 actor_id 列的索引: SELECT actor_id FROM sakila.actor WHERE actor_id + 1 = 5; 2. 多列索引 当查...
2019-04-26
0
525
问十:如何优化SQL查询速度?
通过ANALYSE语句进行表的分析:SELECT * FROM USER PROCEDURE ANALYSE(); 使用此方法通知数据库进行键值分析,会返回每列属性的最大最小长度,多少行为空,所有行的平均值或者平均长度,同时会给出一些长度设置的建议 使用EXPLAIN验证优化程序的操作是否...
2019-04-23
0
1678
问五:什么是MVCC多版本并发控制?
MVCC的实现原理: InnoDB对每一行都加上了两个隐藏的列,其中一列存储行被修改的时系统的修改版本号,另外一列存储行被删除时的系统的删除版本号,以此实现了读不加锁、读写不冲突(不需要等待访问行上的锁释放,读取行的一个快照)。在读多写少的应用中,读写不冲突是非常重要的,极大的增加了系统的并发性能...
2019-04-22
0
529
问二:数据库事务的四大特征是什么?
ACID 原子性(Atomic):事务包括的所有操作,要么全部执行,要么全部都不执行,回滚会原始数据 一致性(Consistency):事务应确保数据库的状态从一个一致的状态转换到另一个一致的状态(一致的状态是指:数据库中的数据应满足完整性约束,比如数据库中a b之间转账,他们一共200,那么...
2019-04-22
0
472