JAVA面试汇总(五)数据库(一)

写了好几天理财的,今天重回技术,写一写数据,我发现这些题好多都是MySQL相关的,先写起来吧,预计三篇,今天第一篇。

1.请简洁描述Mysql中InnoDB支持的四种事务隔离级别名称,以及逐级之间的区别?

(1)Read Uncommited,读到未提交数据,所有事务都可以看到其他未提交事务的执行结果。很少用于实际应用,因为他的性能也不比其他级别好多少。读取到未提交的数据,也被称之为脏读,一旦实际最终数据回滚了,还会导致一些列问题。
(2)Read Commited,读到提交内容,这是主流数据库系统的默认隔离级别(但不是Mysql 默认的)。它满足了隔离的简单定义:一个事务只能看见已经提交事务所做的改变。这种隔离级别也支持所谓的不可重复读 ( Nonrepeatable Read ), 因为同一事物的其他实例在该实例处理期间可能会有新的Commit ,所以同一 select 可以返回不同结果。
(3)Repeatable Read(可重读):这是Mysql的默认事务隔离级别,它确保同一事务的多个实例在并发读取数据时,会看到同样的数据行。不过理论上,这会导致另一个棘手的问题,幻读(Phantom Read),简单的说,幻读指当用户读取某一范围的数据行时,另一事务又在该范围内插入了新行,当用户再读取该范围的数据行时,会发现有新的“幻影”行。
(4)Serializable(可串行化):这是最高的隔离级别,它通过强制事务排序,使之不可能互相冲突从而解决幻读问题。简而言之,它是在每个读的数据行上加上共享锁。在这个级别,可能导致大量的超时现象和锁竞争。实际上,不同的事务同时开启同一个表的查询是没有问题,但是一旦开启查询,则其他事务均不可对该表进行修改插入操作,直到其他事务commit后,才可以进行插入修改操作。

2.在Mysql中ENUM的用法是什么?

直接上代码

//建表语句,enum类型,可以指定后边的具体枚举值,类似与java的枚举值
CREATE TABLE `test_enum` (
  `ID` bigint NOT NULL COMMENT 'PRIMARY KEY BATCH ID',
  `STATUS` enum('NAME','SEX') NOT NULL,
  PRIMARY KEY (`ID`)
);
//插入时候同样可以直接使用'NAME'或者'SEX',1(等同于'NAME'),2(等同于'SEX')
insert into test_enum values(1,'NAME');
insert into test_enum values(2,'SEX');
insert into test_enum values(3,1);
insert into test_enum values(4,2);
//查询
select * from test_enum;
//输出
1   NAME
2   SEX
3   NAME
4   SEX
//修改增加Enum类型
ALTER TABLE test_enum MODIFY COLUMN STATUS enum('NAME','SEX','TTTT')

3.CHAR和VARCHAR的区别?

(1)char类型时定长的类型,即当定义的是char(10),输入的是"abc"这三个字符时,它们占的空间一样是10个字节,包括7个空字节。当输入的字符长度超过指定的数时,char会截取超出的字符。而且,当存储char值时,MySQL是自动删除输入字符串末尾的空格。char是适合存储很短的、一般固定长度的字符串。例如,char非常适合存储密码的MD5值,因为这是一个定长的值。对于非常短的列,char比varchar在存储空间上也更有效率。
(2)varchar(n)类型用于存储可变长的,长度为n个字节的可变长度且非Unicode的字符数据。n必须是介于1和8000之间的数值,存储大小为输入数据的字节的实际长度+1或2,比如varchar(10), 然后输入abc三个字符,那么实际存储大小为3个字节。除此之外,varchar还需要使用1或2个额外字节记录字符串的长度,如果列的最大长度小于等于255字节(是定义的最长长度,不是实际长度),则使用1个字节表示长度,否则使用2个字节来表示。
(3)从占用空间上考虑,varcahr较合适;从效率上考虑,用char合适。二者之间需要权衡。

4.drop,delete与truncate的区别

(1)delete和truncate都会清除表数据,但不会将整个表干掉,而drop可以将整个表干掉,也可以适用一些索引,约束,触发器等,都是直接干掉操作。
(2)TRUNCATE会清理这个表和索引所占用的空间,这些空间都会恢复到初始大小,DELETE操作不会减少表或索引所占用的空间,之前数据即使被删掉也占用空间。

5.局部性原理与磁盘预读

(1)局部性原理,当一个数据被用到时,其附近的数据也通常会马上被使用。程序运行期间所需要的数据通常比较集中。
(2)磁盘的读取速度要比内存慢很多,为了提高效率,要尽量减少磁盘I/O,所以就是每次读取都多读一些,也就是每次都会预读,即使只需要一个字节,磁盘也会从这个位置开始,顺序向后读取一定长度的数据放入内存。因为磁盘是顺序读取的,因此预读只是在原有的基础上再多继续读一些,返回到内存中,速度也是非常快的。
(3)实际上这个是为了引入B+树以及B-树的存储索引结构,提高索引查询的效率。但是这个我是不太懂,后边抽时间输出一下,树,B+树、B-树,红黑树,写一篇。

谢各位的阅读,谢谢您动动手指点赞,万分感谢各位。另外以下是我之前写过的文章,感兴趣的可以点进去继续阅读。

历史文章

Hadoop系列-入门安装
Hadoop系列-HDFS命令
Hadoop系列-Hive安装
Hadoop系列-Hive数据库常见SQL命令
Hadoop系列-HBase数据库
Hadoop系列-HBase数据库(二)
Hadoop系列-HBase数据库JAVA篇
Hadoop系列-Spark安装以及HelloWorld
JAVA面试汇总(五)数据库(一)
JAVA面试汇总(五)数据库(二)
JAVA面试汇总(五)数据库(三)
JAVA面试汇总(四)JVM(一)
JAVA面试汇总(四)JVM(二)
JAVA面试汇总(四)JVM(三)
JAVA面试汇总(三)集合(一)
JAVA面试汇总(三)集合(二)
JAVA面试汇总(三)集合(三)
JAVA面试汇总(三)集合(四)
JAVA面试汇总(二)多线程(一)
JAVA面试汇总(二)多线程(二)
JAVA面试汇总(二)多线程(三)
JAVA面试汇总(二)多线程(四)
JAVA面试汇总(二)多线程(五)
JAVA面试汇总(二)多线程(六)
JAVA面试汇总(二)多线程(七)
JAVA面试汇总(一)Java基础知识

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,402评论 6 499
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,377评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,483评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,165评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,176评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,146评论 1 297
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,032评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,896评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,311评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,536评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,696评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,413评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,008评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,659评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,815评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,698评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,592评论 2 353

推荐阅读更多精彩内容