发表于: 2025-04-19 20:45:38

0 97


今天完成的任务:继续学习任务一的深度思考。

学习:17.clean,install,package,deploy分别代表什么含义?

这些命令都是关于maven的生命周期。

Maven的三套生命周期:

a. Clean Lifecycle 在进行真正的构建之前进行一些处理工作

b.Default Lifecycle 构建的核心部分,编译,测试,打包,部署等

c. Site Lifecycle 生成项目报告,站点,发布站点

注意:这三套生命周期是相互独立的。

每套生命周期都由一组阶段(Phase)组成,我们平时在命令行输入的命令总会对应于一个特定的阶段。比如,运行mvn clean,这个的clean是Clean生命周期的一个阶段。

3,Clean Lifecycle一共包含三个阶段:

a. pre-clean 执行一些需要在clean之前完成的工作

b. clean 移除所有上一次构建生成的文件

c. post-clean 执行一些需要在clean之后立刻完成的工作

mvn clean中的clean就是上面的clean,在一个生命周期中,运行某个阶段的时候,它之前的所有阶段都会被运行,也就是说,mvn clean等同于mvn pre-clean clean,如果我们运行mvn post-clean,那么 pre-clean,clean 都会被运行。这是Maven很重要的一个规则,可以大大简化命令行的输入。


继续学习:20.为什么DB的设计中要使用Long来替换掉Date类型?

MySQL中的表示时间的类型

date:日期,占用三个字节,1000-01-01——9999-12-31

datetime:日期+时间,1000-01-01 00:00:00” 到“9999-12-31 23:59:59,占用8个字节,datetime类型适合用来记录数据的原始的创建时间,因为无论你怎么更改记录中其他字段的值,datetime字段的值都不会改变,除非你手动更改它。

timestamp:日期+时间,占用4个字节,“19700101080001——20380119111407,timestamp类型适合用来记录数据的最后修改时间,因为只要你更改了记录中其他字段的值,timestamp字段的值都会被自动更新。

MySQL中的bigint类型

bignit,表示从-2^63到2^63-1(即从-9,223,372,036,854,775,808到 9,223,372,036,854,775,807)之间的整数,它占用了八个字节的存储空间。


解释:

1. 因为DATE有固定的格式,不同的地区有不同的时间表示方法,而且外国有夏令时与冬令时之分,非常麻烦

2. 其实使用BigInt也能较为清晰的表示时间

3. 大多数时候我们并不关心某一个时间点,而是发生一个动作后,需要的时间,BigInt非常方便做减法而不用转化

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


  • 索引可以做什么:

    • 加快检索表中数据,亦即能协助信息搜索者尽快的找到符合限制条件的记录ID的辅助数据结构。

      • 索引分类:

        • 普通索引:仅加速查询

        • 唯一索引:加速查询 + 列值唯一(可以有null)

        • 主键索引:加速查询 + 列值唯一(不可以有null)+ 表中只有一个

        • 组合索引:多列值组成一个索引,专门用于组合搜索,其效率大于同时使用多条单列索引

        • 全文索引:对文本的内容进行分词,进行搜索

      • 1.选择唯一性索引

        • 唯一性索引的值是唯一的,可以更快速的通过该索引来确定某条记录。例如,学生表中学号是具有唯一性的字段。为该字段建立唯一性索引可以很快的确定某个学生的信息。如果使用姓名的话,可能存在同名现象,从而降低查询速度。

      • 2、限制索引的数目

        • 索引的数目不是越多越好。每个索引都需要占用磁盘空间,索引越多,需要的磁盘空间就越大。修改表时,对索引的重构和更新很麻烦。越多的索引,会使更新表变得很浪费时间。

      • 3、尽量使用数据量少的索引

        • 如果索引的值很长,那么查询的速度会受到影响。例如,对一个CHAR(100)类型的字段进行全文检索需要的时间肯定要比对CHAR(10)类型的字段需要的时间要多。

      • 4、尽量使用前缀来索引

        • 如果索引字段的值很长,最好使用值的前缀来索引。例如,TEXT和BLOG类型的字段,进行全文检索会很浪费时间。如果只检索字段的前面的若干个字符,这样可以提高检索速度。

      • 5、删除不再使用或者很少使用的索引

        • 表中的数据被大量更新,或者数据的使用方式被改变后,原有的一些索引可能不再需要。数据库管理员应当定期找出这些索引,将它们删除,从而减少索引对更新操作的影响。

      • 6、最左前缀匹配原则,非常重要的原则。

        • mysql会一直向右匹配直到遇到范围查询(>、<、between、like)就停止匹配,比如a 1=”” and=”” b=”2” c=”“> 3 and d = 4 如果建立(a,b,c,d)顺序的索引,d是用不到索引的,如果建立(a,b,d,c)的索引则都可以用到,a,b,d的顺序可以任意调整。


      明天计划的事情:继续学习任务一的深度思考。



返回列表 返回列表
评论

    分享到