发表于: 2017-10-28 00:11:40
3 704
任务1 第二天 完成9-16
9.给name和profession创建索引
更新一个包含索引的表需要比更新一个没有索引的表花费更多的时间,这是由
于索引本身也需要更新。因此,理想的做法是仅仅在常常被搜索的列(以及
表)上面创建索引。
允许使用相同值
CREATE INDEX index_name
ON table_name (column_name)
不允许使用相同值
CREATE UNIQUE INDEX index_name
ON table_name (column_name)
考虑到重名的情况,都选择允许相同值
10.插入10条数据,查看有索引和无索引的情况下,Sql语句执行的效率
为了熟悉语句,我选择用mysql插入,字段内容在navicat中编辑
看不到差别。
于是用navicat又加了10行,还是一样。
查询网上,有索引的字段会快,因为建立了索引表。
11.查看深度思考中Mysql相关的一些问题,将自己思考的结果写在日报中,并查阅之前师兄的日报,看看是否有合自己思路接近或者是完全不一致的地方。
5.为什么DB的设计中要使用Long来替换掉Date类型?
根据网上查的,分为两点:1)日期在不同地区表示有差异,如冬夏令时。2)db更加关心动作之后需要的时间,bigint类型做减法更方便。
6.自增ID有什么坏处?什么样的场景下不使用自增ID?
网上查的:主外键关系表的并发性能问题和分布式系统的唯一性问题…另外就 是数字类型的溢出问题...
自己遇到的:删除记录后在添加会继续下一个数字,比如12345,删去5,再加记录就变成6。
在需要保持ID连续性的时候不使用自增ID。
7.什么是DB的索引,多大的数据量下建索引会有性能的差别,什么样的情况下该对字段建索引?
索引是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中数据。索引的实现通常使用B树(二叉搜索树)及其变种B+树(多路搜索树)。
数据量:在使用频率高且表数据量大时,至于多高多大,网上说10k数据量。
建索引的情况:在表已建索引不多且字段使用频率高,数据量大时。
8.唯一索引和普通索引的区别是什么,什么时候需要建唯一索引。
要创建索引的列中的内容的值没有重复时(空值除外),才能对其创建唯一索引,否则,就创建不了唯一索引。
来自网上:通常来说,对于相同环境下(相同的对象,相同的操作,相同的检索条件等),唯一索引都会更好一些。
9.如果对学员QQ号做了一个唯一索引,在插入数据的时候,是否需要先判断这个QQ号已经存在了?
需要不然报错,网上的解决办法:
(一)导入差异数据,忽略重复数据,IGNORE INTO的使用
(二)导入并覆盖重复数据,REPLACE INTO 的使用
(三)导入保留重复数据未指定字段,INSERT INTO ON DUPLICATE KEY UPDATE 的使用
10.CreateAt和UpdateAt的意义分别是创建时间和修改时间,这两个时间应该在什么情况下赋值?是否应该开放给外部调用的接口?
在create纪录时两个都要赋当前时间值,在update记录时修改update_at的值。
开放接口以供外部使用记录数据创建时间,我觉得是有需求的。
11.修真类型应该是直接存储Varchar,还是应该存储int?
修真类型用varchar以字符串保存,或者将修真类型与int型数据建立唯一映射也可以用int储存,不过还是varchar更方便。
12.varchar类型的长度怎么确定?有什么样的原则,和Text和LongText的区别是什么?
在小于其预设大小时,储存的字段长度就时varchar长度,超过时只记录不超过预设大小的部分。
与text 和longtext区别:text和longtext没有预设大小,text和longtext差别是最大长度。
14.为什么不可以用Select * from table?
select *from table语句执行会查询整张表,影响效率,尤其数据量大时。
12.下载Java 7,并配置环境变量
JDK和JRE的区别:JRE(java runtime environment)包含java程序运行必要的环境,包含了java虚拟机,java基础类库。JDK(java development kit)是程序员使用java语言编写java程序所需的开发工具包,是提供给程序员使用的。
JRE是JDK的一个子集。
13.下载Maven3,并配置好环境变量。
14.下载IDEA 通过修改时间,试用期到2038年
然而30分钟就退出一次。。。
15.创建一个新的maven项目
16.在src/main/java下随便创建一个java文件,clean,install.查看本地的.m2下是否成功看到有Jar包。
今天了解了db的索引,对于深度思考的上网搜索了解和自己尝试,java、maven、idea的搭建
明天计划:周末全天上班,尽力抽空做一两个任务
遇到的问题:各种环境变量路径,maven的安装,vi的insert模式。
收获:可以搭建一个简陋的db,能够搭建java开发的一些基本环境
评论