zoukankan      html  css  js  c++  java
  • 2020-07-23_数据库学习总结

    前言

    摸鱼甚久,偶尔写写博客

    时间:2020-07-23

    内容

    逼逼赖赖:最近实习在写APP,但我还是励志要做一个java后端程序员

    他们的后台用.net写的,暴露接口和javaswagger基本一样,我大致了解了下,基本业务就是写增删改查+一些基本的逻辑,看着不是很难。

    虽然代码不是用java写的,但是开发思想的一样的,那我就先从数据库开始学起吧。

    看着他们的数据库设计文档,第一次见识到了一百字段的表,看到了数据库建设的一个流程

    受到冲击后,以后都不敢说自己会mysql

    记录最近数据库所学

    再也不敢说自己学过数据库了... ...

    经过几天对数据库的学习,对数据库又有了一点点了解,markdown 记录美好生活

    为什么索引用的是B+数?

    二叉搜索树,可能会变成链表

    红黑树,红黑树是内存结构,不适合索引的建立,IO消耗性能

    B+数,在B-数的基础上增加双向链表,可以范围查找

    B+树:https://zhuanlan.zhihu.com/p/27700617 本来想实现B+树的,我。。。。还是去实现红黑树吧。

    数据库设计规范

    参考博客:https://blog.csdn.net/haiross/article/details/50427382

    参考文档:阿里开发手册 索引规范 https://www.cnblogs.com/rinack/p/10332099.html

    H2数据库

    ​ H2 是一个用 Java 开发的嵌入式数据库,它本身只是一个类库,即只有一个 jar 文件,可以直接嵌入到应用项目中。H2 主要有如下三个用途:

    ​ 第一个用途,也是最常使用的用途就在于可以同应用程序打包在一起发布,这样可以非常方便地存储少量结构化数据。

    ​ 第二个用途是用于单元测试。启动速度快,而且可以关闭持久化功能,每一个用例执行完随即还原到初始状态。

    ​ 第三个用途是作为缓存,即当做内存数据库,作为NoSQL的一个补充。当某些场景下数据模型必须为关系型,可以拿它当Memcached使,作为后端MySQL/Oracle的一个缓冲层,缓存一些不经常变化但需要频繁访问的数据,比如字典表、权限表。

    参考文档:cnblogs.com/cnjavahome/p/8995650.html

    后期实践

    实践1 ==> SpringDataJpa

    实践2 ==> Mybatis-plus

    总结

    通过近段数据库的学习,发现了自己有很多的不足,需要学的东西还很多。

    从一开始的会数据库的crud,后来看到了索引规范,有些看懂不,就去了解B+数,再去理解索引的搜索过程,怎么规范建表等等,感受到了数据库设计的精妙,也对数据库有了更深层次的理解。

  • 相关阅读:
    KL散度(相对熵)和交叉熵的区别
    将模型从 PyTorch 导出到 ONNX 并使用 ONNX Runtime 运行
    Numpy Boolean Indexing Mask(Numpy 布尔索引掩码 )
    python PIL 图像处理库(Pillow)简介
    YOLO v3 网络结构和源码详解
    PyTorch 下使用 Tensorboard
    Python vars() 函数
    python 的 Tqdm 模块
    Pytorch 中的模式设置:model.eval() 和 model.train()
    Pytorch 中的 zero_grad 使用方法
  • 原文地址:https://www.cnblogs.com/chang1024/p/13369401.html
Copyright © 2011-2022 走看看