发表于: 2017-08-09 22:54:21

2 1174


今天完成的任务:

1.       查看深度思考中Mysql相关的一些问题,将自己思考的结果写在日报中,并查阅之前师兄的日报,看看是否有合自己思路接近或者是完全不一致的地方。

5.为什么DB的设计中要使用Long来替换掉Date类型?

数据库比较高效和安全。

mysqllong对应bigint类型。所以问题改成bigintdate的区别。

Long对应的是-2^63----2^63-1之间的所有整型数据

Date对应日期  年月日 1000-01-01-----9999-12-31

使用bigint来替换date的好处是:date会受到时区的限制,并且有时候不需要获取当时的时间。格式也会受到限制。Bigint对时间差的处理更加方便。并且也可以清楚表示出时间的信息。date类型只在MySQL中有意义,在java中并没有这种格式。

6.自增ID有什么坏处?什么样的场景下不使用自增ID

坏处:不具有连续性;不能识别重复信息;

不使用自增id:当数据中存在唯一标识符时就可以不使用;数据需要经常修改时不使用。

7.什么是DB的索引,多大的数据量下建索引会有性能的差别,什么样的情况下该对字段建索引?

DB索引:db的索引相当于书的目录,在查找书中内容的时候可以快速的锁定位置,如果没有索引,就需要自己从书的第一页翻到最后一页来查找。

索引的建立是根据表中的一列来建立,建立索引会对数据进行排序,从而在查找时更加方便快捷。建立索引只是存储数据的一列的值,而不是所有列。索引除了保存这列的值,还会保存一个指向这一行的指针,这样就可以在列中找到数据后获得整行的指。否则只能获取某一个值是没有意义的。索引存储的时候(“Jesus”, 0x82829)

索引一般使用b-tree来创建数据结构。

B_TREE的查找

B_TREE上查找x,现将x的关键字与根结点的n个关键字di逐个比较,然后做如下处理:

x.key==di,则查找成功返回;

x.key<d1,则沿着指针c0所指的子树继续查找;

di<x.key<d(i+1),则沿着指针ci所指的子树继续查找;

x.key>dn,则沿着指针cn所指的子树继续查找。

8.唯一索引和普通索引的区别是什么,什么时候需要建唯一索引。

普通索引可以有重复数据出现,唯一索引只可以有一条数据。

需求中出现不可重复的时候可以使用唯一索引。

9.如果对学员QQ号做了一个唯一索引,在插入数据的时候,是否需要先判断这个QQ号已经存在了?

不需要,唯一索引会自动查找是否重复,如果存在就不能插入。

10.CreateAtUpdateAt的意义分别是创建时间和修改时间,这两个时间应该在什么情况下赋值?是否应该开放给外部调用的接口?

CreateAt是在建立时更新,UpdateAt在修改后更新。不用外部调用,可以使用触发器赋值。

11.修真类型应该是直接存储Varchar,还是应该存储int?

都可以,intvarchar可以互相转化。Int中可以存储4个字节,varchar可以存储255字符,65535字节。

12.varchar类型的长度怎么确定?有什么样的原则,和TextLongText的区别是什么?

根据实际的意义来确定,比如姓名就需要比较少的字符,可以大概进行计算汉字,字母数字占得字符数来分配。

TINYTEXT 最大长度是 255 (2^8 - 1) 个字符。

TEXT 最大长度是 65535 (2^16 - 1) 个字符。

MEDIUMTEXT 最大长度是 16777215 (2^24 - 1) 个字符。

LONGTEXT 最大长度是 4294967295 (2^32 - 1) 个字符

13.怎么进行分页数据的查询,如何判断是否有下一页?

暂时不写,后面接触到了再答

14.为什么不可以用Select * from table?

之前我也是用的select,不太清楚为什么不可以,我之前遇到的问题是没有使用数据库。Use 数据库名称;就可以了。

2.  下载Java 7,并配置环境变量,百度搜索一下JDKJRE的区别,并将结论用自己的话写在日报中。

JRE Java Runtime Environment  java运行环境

JDKJava Development Kit  java开发工具包

Jrejava运行的环境基础,可以运行java的程序

Jdk包含了jre,另外还有开发工具。

3.       下载Maven3,并配置好环境变量。

下载好后配置不知道去哪里。

4.       安装eclipse

安装时时间很长,报错Executing bootstrap tasks

重新下载了离线版安装就可以了。查了之前的错误是可能网络连接问题,或者杀毒软件阻止。

Maven创建好了以后不会使用install clean查看。。。百度了也没找到,可能太基础了,明天再继续。

明天的计划:

创建好maven,然后开始学习任务1-17.

遇到的问题:

1.       Intvarchar的区别还不清楚,int只可以存储4个字节的内容太少了吧,那么怎么来存储修真类型。。。(深度思考11

2.       配置java7不知道怎么做,安装过后就没有了。。。

3.       使用install clean

收获:

数据库的深度思考的题目中了解了很多新知识,安装了软件。



返回列表 返回列表
评论

    分享到