有什么学习数据库的好资源吗

2020-04-30 16:31:48 +08:00
 yukiloh

语言:java 属性:自学,1 年 简介: mybatis 和 jpa 都入门过,因为实在实在实在不喜欢写 sql 导致自己折腾时候比较喜欢用 jpa

问题: 面试时候其他基础部分没啥问题,但是一问到数据库就很头疼,原因: 1.因为学的太快,基础不牢固。离开百度我可能只会用 from where 2.没有实际项目的需求。我属于非理论的实战派,打个反例,shiro 因为要实现复杂鉴权相对就很会钻研得较深

需求:有练手的好项目吗

感谢

4187 次点击
所在节点    MySQL
19 条回复
smallpython
2020-04-30 16:36:09 +08:00
你是指 sql 语句记不住还是问一些深入的问题不知道
aitaii
2020-04-30 16:37:57 +08:00
可以找一些 ERP 相关的项目
felix021
2020-04-30 16:43:52 +08:00
yukiloh
2020-04-30 16:45:46 +08:00
@smallpython 没有需求→没有应对方案→被面试官认为没有没有经验
很多东西我的确是记不住的,比如 shiro 具体怎么实现鉴权,我只能回答个大概,真的去实现可能还是得找项目笔记复制
至于深入的问题,没有遇到过,所以也是不知道
baozijun
2020-04-30 16:54:36 +08:00
自己实现一个小型论坛,使用 mybatis-plus,就会用到各种 SQL,自己造多一点数据,就可以涉及到数据库优化;
另外,请允许我贴一个 mysql 大佬的电子书,读了几遍,受益匪浅。

![MySQL 是怎样运行的:从根儿上理解 MySQL.png]( https://i.loli.net/2020/04/30/PcRne5C1g93fV8A.png)
nita22
2020-04-30 16:58:12 +08:00
最近复习了一遍 MyBatis 跟 Mybatis-Plus 。发现还是要深入了解下 MySql,这几天在看尚硅谷周阳的 mysql 高级,B 站就有视频
miv
2020-04-30 16:59:13 +08:00
sql 要好好学哦!!!
我作为一个 javaer 和 curd boy 之前一直关注 springboot 啊、微服务啊、vue 啊这些框架之类的东西。
实际做项目的时候,就像你说的,简单的 sql 没啥问题。
可是业务有时候是很灵活多变的,这个时候就考验到表的设计、sql 语句优化之类的。
举个例子:很多开发,包括我,之前总因为实现功能就行,不就一个 sql,有啥大不了,可是真正涉及到一些业务的时候,还需要考虑代码效率、sql 优化等等。
就比如我之前做的一个功能,接口查数据库多次,导致 10 妙超时了,后面优化了 sql 和代码干到了 3 秒内。
就当一个过来人苦口婆心吧,教程方面我也是零碎学习的,不过建议你要过一遍,细细咀嚼理解才行,这玩意很锻炼人,最好还需要结合业务,多实战。
最后,希望每一个坑都能让你成长。手动狗头
zjbztianya
2020-04-30 17:12:34 +08:00
如果只是练习 sql 的话...leetcode 的 sql 题挺好的。。。
yukiloh
2020-04-30 17:15:23 +08:00
@baozijun
感谢
以前用过通用 mapper,查了下 mp 的使用案例感觉有点类似?
小论坛实现过,项目中通用 mapper 的时候经常遇到某些特定的(要求)[https://github.com/abel533/Mapper/issues/707]无应对策略,最后只能去手写 sql
因此对于此类我觉得有点脱裤子放屁,放着 jpa 不用非要 mybatis...
miv
2020-04-30 17:21:01 +08:00
另外补充一点!
对于企业来说数据库存储的数据是很宝贵的,也是一个企业重要的资产,这也是数据库的重要性,所以一般面试的时候数据库方面的知识是必问的!
而这个,也是楼主和别人拉开差距的时候,希望楼主重视!
我记得之前的面试 sql 方面面试官问了下面之类的问题:什么是索引、怎么优化 SQL 语句(举例子)、什么情况下索引失效等等。
那时候自己抓瞎,结果当然就凉凉。
现在的我越来越知道了 SQL 重要性(╥╯^╰╥),而怎么用好 SQL,其实有很多门道。
楼上推荐 B 站,挺不错的,楼主可以找视频看看。
看到帖子,有感而发。
希望这些罗里吧嗦的话可以给楼主一些启发。
baozijun
2020-04-30 17:22:13 +08:00
@yukiloh #9 建议做成多租户(或者多用户的),多 topic,多标签聚合,还有就是用户积分等,其实很锻炼
agdhole
2020-04-30 18:43:42 +08:00
德哥 pgsql
yukiloh
2020-04-30 18:51:12 +08:00
@agdhole https://yq.aliyun.com/users/3x5dm5sgv4yq6?spm=a2c4e.11153940.0.0.67d94044CycSFG

这位吗?

https://yq.aliyun.com/articles/59251

pg 我觉得的挺可惜,据说流行不开是国人读不来。。
l05jq6W75b29a60l
2020-04-30 19:07:52 +08:00
到底是要学啥。纯恶心的 sql 去 letcode,原理和优化时间多就《高性能 MySQL (第 3 版)》 时间少就蚂蚁的《 MySQL 实战 45 讲》,要是看视频的话建议直接学怎么吹牛逼应对面试即可,上来就是一顿 b+tree,最左索引原则,行锁标锁 ,mvcc,redolog,undolog,binlog 。
zhangysh1995
2020-05-08 14:06:19 +08:00
学习一下 CMU 的数据库课程吧,两个部分,本科的主要是基本概念,研究生的讲前沿研究和思考一些问题。https://15445.courses.cs.cmu.edu/fall2019/ https://15721.courses.cs.cmu.edu/spring2020/
我基本看完了 15-445,收获很大,至少知道有问题应该去找什么样的资料。如果不是急着工作,不建议看动物书,非常应用,并且每个数据库都不一样。先打好基础,多练习一下,在 v 站看别人发的问题学习一下,再看针对某一个数据库的也不迟。
yukiloh
2020-05-08 14:30:41 +08:00
@zhangysh1995
https://www.bilibili.com/video/BV1VE411f7kP/?spm_id_from=333.788.videocard.0
类似于这种?
你是学生吗,推荐这个的确很好,但对于像我这种自学,还找不到工作的来说,何不食肉糜
zhangysh1995
2020-05-09 18:34:00 +08:00
@yukiloh 我是学生。工作的时候碰到问题去搜索,其实就是把这个时间转嫁到实际操作的时候学习了。这个本科课程内容也没多少,认真一下,只了解概念,两三周绝对够了。
andytao
2020-05-18 14:58:14 +08:00
袋鼠数据库管理工具 第三个稳定版本 0.23.1 已发布,推荐体验:
1. 改进日期、日期时间选取控件.
2. 改进标题栏背景图片(颜色).
3. 改进网格列标题.
4. 更新中文翻译.
5. Fixed: 不能更新日期、日期时间类型数据.
6. Fixed: 不能更新浮点类型数据.
7. Fixed: 不能更新数值类型( Numeric )
8. Fixed: MySQL: 不能更新字符串数组类型(Char)
9. Fixed: PostgreSQL: SQL 中名字错误
10. Fixed: 数据网格工具栏状态错误.
Coolha
2020-05-19 16:05:28 +08:00
《 MySQL 必知必会》
《 InnoDB 存储引擎》
《高性能 MySQL 》

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/667675

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX