发表于: 2017-10-03 00:22:50

1 885


学习程序修真第三天

今天完成的事情:步骤8~11,十分顺利,可喜可贺~~

1.因为昨天把问题的来源归结到了软件上,所以今天重新安装了mysql和navicat。

昨天的最后在进行mysql重新安装的时候最后一步出现了错误Error Nr.1045,我在网上查到要彻底删除mysql不仅应该在控制面板中删除,还需要在计算机管理-服务和应用程序-服务中进行设置,然后再在c:\programdata中删除mysql文件夹才能完全清理残留,最后也成功完成了这一步。

2.重新安装mysql和下载了正版的试用版navicat之后,再次尝试着建立表和插入数据。

正版的navicat界面用起来比破解版的要舒服很多啊也许是心理作用。。

重新巩固了建表和插入,都没有问题,可是在点击“查询创建工具”的时候仍然会弹出

但是我也同时意识到这个问题并不会影响我的其他操作,所以决定不在这里浪费精力了,事实也的确如此。

3.进行昨天没能完成的步骤8

大成功

之前卡住的原因是没意识到

这两个的区别,之前我一直是在mysql里执行cmd的命令,当然会无法执行了!多亏了师兄推荐的教程,让我迅速发现了这点。

至此昨天的遗留问题已经解决完毕,可以继续完成任务了~

9.给姓名建索引,思考一下还应该给哪些数据建索引

创建索引很容易就完成了,检查的时候也发现xingming的key栏里多出来了mul的字样,不会是汉语拼音目录的缩写吧(笑)

我认为还应该给修真类型和学号做索引吧,这些都是有实际搜索需求的属性

10.插入10条数据,查看有索引和无索引的情况下,Sql语句执行的效率

既然要插入十条数据,我打算趁机尝试一下循环语句

没有出错,可喜可贺~~上面是有索引“xingming”的情况,下面是没有索引的情况

令人惊讶的是有索引的一边居然花费了更多时间,也就是效率更低?这个怎么解释呢?

这里还想提出一个问题,上图的0.126s是编译语句的时间,0.217s是执行语句的时间对吗?这两个时间是分开算的还是说执行语句的时间里包含着编译的时间?


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

总结题,真是不太擅长应对的类型啊~说起来要是文科好的话谁会来学计算机啊(快滚)

深度思考

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

如果数据涉及到时区,就要用bigint,如果不则两个都可以

时间戳(bigint)所表达的时间是恒定的,准确的。而date与时区有关。

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

自增id的话,如果说是1,2,3这样的顺序排列下来,假如我删除3,再新增的时候就会出现1,2,4,5这样不具有连续性的数列了吧?虽然不知道这算不算缺陷。。

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

服务器有剩余存储空间,经常查询某表时,建立索引。索引也会占用一定的空间

但是多大的数据量下建索引会有性能的差别,我认为需要根据实际情况来考虑。具体来说就是更追求性能还是节约空间?

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

唯一索引必须让数据在表中是唯一的,可以在数据库主键上建立。

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

不需要,我为此进行了尝试,如图,在我为qq建立了唯一索引之后,插入qq相同的数据会报错。


明天计划的事情:明天得去探望爷爷奶奶~可能要请假了

后天计划完成12~16,当然还是多多益善啦~


遇到的问题:

1.好像要永远搞不明白的大红叉。。搜索引擎根本无法解决的世纪性难题

2.在建立唯一索引的时候出现报错,而且是乱码

我还是第一次在mysql遇到乱码呢~所以从结果往回想:乱码从何而来?->多半是从汉字来的->汉字哪里惹到mysql了?->哦对了我建立的是唯一索引啊,我表里在联系循环语句的时候还留着一大堆重复数据呢。。

然后我去把重复数据删掉又试了一遍,果然成功了√

3.就是我在索引那里提出的问题啦:

令人惊讶的是有索引的一边居然花费了更多时间,也就是效率更低?这个怎么解释呢?

这里还想提出一个问题,上图的0.126s是编译语句的时间,0.217s是执行语句的时间对吗?这两个时间是分开算的还是说执行语句的时间里包含着编译的时间?

4.这个问题想特地请教一下师兄:我是不是需要拿个小本把常用的语句都记下来啊?……感觉这样更便于记忆……师兄又是怎么做的呢?可以介绍一下吗?


收获:

今天的收获还是很多的~

1.巩固了建立表与插入数据的操作

2.意识到cmd和mysql的区别,并成功处理昨天的难题步骤8

3.学会了建立索引,删除索引和建立唯一索引

4.初步练习了mysql语言的循环语句


以上,充实的一天又过去了~

p.s.我发现了一个很尴尬的问题。。

我昨天写的日报是今天凌晨提交的,所以我今天就必须得等到明天凌晨才能交日报

管理员是不是可以考虑把每天日报的截止时间放到凌晨12点以后这样,比如说2点或者4点

这样对于修仙党来说比较人性化~


返回列表 返回列表
评论

    分享到