发表于: 2017-04-21 23:10:28

2 1336


完成:给姓名、qq建索引,回答“深度思考”中的问题。

明天计划的任务:学习Maven。

遇到的问题:数据类型选择不对引起的一些问题,如导出导入不方便;对于10条数据来说,索引建了和没建似乎差别不大。

收获:数据类型、索引对于性能的影响,选择数据类型要考虑占用的空间、检索时的性能。

--------------------------------------

笔记:

mysql> create index stu_idx on student(name,qq);

Query OK, 0 rows affected (0.49 sec)

Records: 0  Duplicates: 0  Warnings: 0

》》》》

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

 答:date处理起来较复杂,况且操作系统用的时间好像也是用某一年开始的秒数莱记录时间,可以节省存储空间吧。

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

 答:数据量大的时候要是超出了ID的最大值会溢出,数据快速增加的时候不使用自增ID。

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

 答:索引相当于目录,通过快速路径访问降低搜索时间。坏处是频繁操作的数据库需要开销来维护索引,且占空间,所以性能慢的、空间不足的、删改频 繁的数据库不用索引。对于每条记录有独特性的字段可以建索引,对于经常要查找的但类别也很多的字段也建索引,假如“城市”这个字段对于所有记录只能有北京或上海,个人认为不用索引。

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

 答:对于身份证号等具有唯一识别性的索引是唯一索引,反之对于毕业院校这种有多条对应记录的是普通索引。数据多且杂而且字段不能有重复记录不能的时候需要唯一索引。

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

 答:不用,因为判断过程影响性能,况且qq号不是最重要的字段,一般不会作为重要的标识。而例如注册账号这种就需要判断。

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

 答:增加记录时同时对两者赋值,以后每次修改只对修改时间赋值。不能给外部调用,这样会影响事件记录的独立性。

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

 答:int。因为类型就那么几种。varchar存储随机性的数据,长度差异大的数据。

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

 答:定一个能满足大多数的长度,用char的话,得注意如果字符长度不到char规定的长度,末尾有空格的问题。另外,如果用char的话,最好整个数据库里字符字段都用char。text是用2字节存放每个字符对象且存储上限255B,longtext是用4字节存放每个字符对象且存储上限4GB。

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

 答:影响性能

》》》》

======================

插入10条数据,有索引的情况下查询一个名字:

mysql> select name from student where name='uheebvv';

+---------+

| name    |

+---------+

| uheebvv |

+---------+

1 row in set (0.08 sec)


删掉索引:

mysql> drop index stu_idx on student;

Query OK, 0 rows affected (0.41 sec)

Records: 0  Duplicates: 0  Warnings: 0


再次检索:

mysql> select name from student where name='uheebvv';

+---------+

| name    |

+---------+

| uheebvv |

+---------+

1 row in set (0.00 sec)


重新建立索引,然后检索:

mysql> select name from student where name='nhdgd';

+-------+

| name  |

+-------+

| nhdgd |

+-------+

1 row in set (0.00 sec)

第一次没索引检索用了0.08秒,第三次检索把索引去掉了却是0秒。说明索引对10条记录的数据量影响不大。

===========================================================



返回列表 返回列表
评论

    分享到