mirror of
https://github.com/Snailclimb/JavaGuide
synced 2025-08-14 05:21:42 +08:00
Compare commits
5 Commits
e5db6e00a7
...
e129b380ce
Author | SHA1 | Date | |
---|---|---|---|
|
e129b380ce | ||
|
accea3b857 | ||
|
2635879fe1 | ||
|
a3cc1db59b | ||
|
296f76fa4e |
@ -191,6 +191,10 @@ JVM 这部分内容主要参考 [JVM 虚拟机规范-Java8 ](https://docs.oracle
|
||||
- [数据库基础知识总结](./docs/database/basis.md)
|
||||
- [NoSQL 基础知识总结](./docs/database/nosql.md)
|
||||
- [字符集详解](./docs/database/character-set.md)
|
||||
- SQL :
|
||||
- [SQL语法基础知识总结](./docs/database/sql/sql-syntax-summary.md)
|
||||
- [SQL常见面试题总结](./docs/database/sql/sql-questions-01.md)
|
||||
|
||||
|
||||
### MySQL
|
||||
|
||||
|
@ -230,7 +230,18 @@ export const sidebarConfig = sidebar({
|
||||
{
|
||||
text: "基础",
|
||||
icon: "basic",
|
||||
children: ["basis", "nosql", "character-set"],
|
||||
children: [
|
||||
"basis",
|
||||
"nosql",
|
||||
"character-set",
|
||||
{
|
||||
text: "SQL",
|
||||
icon: "SQL",
|
||||
prefix: "sql/",
|
||||
collapsible: true,
|
||||
children: ["sql-syntax-summary", "sql-questions-01"],
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
text: "MySQL",
|
||||
|
@ -11,7 +11,7 @@ export const themeConfig = hopeTheme({
|
||||
},
|
||||
repo: "https://github.com/Snailclimb/JavaGuide",
|
||||
docsDir: "docs",
|
||||
iconAssets: "//at.alicdn.com/t/c/font_2922463_st01t0e9sr.css",
|
||||
iconAssets: "//at.alicdn.com/t/c/font_2922463_9ir10garej4.css",
|
||||
navbar: navbarConfig,
|
||||
sidebar: sidebarConfig,
|
||||
pageInfo: [
|
||||
|
@ -280,7 +280,7 @@ SELECT id FROM table WHERE id=1;
|
||||
- 使用 `SELECT *` 进行查询;
|
||||
- 创建了组合索引,但查询条件未准守最左匹配原则;
|
||||
- 在索引列上进行计算、函数、类型转换等操作;
|
||||
- 以 `%` 开头的 LIKE 查询比如 `like '%abc';`;
|
||||
- 以 `%` 开头的 LIKE 查询比如 `like '%abc'`;
|
||||
- 查询条件中使用 or,且 or 的前后条件中有一个列没有索引,涉及的索引都不会被使用到;
|
||||
- 发生[隐式转换](https://javaguide.cn/database/mysql/index-invalidation-caused-by-implicit-conversion.html);
|
||||
- ......
|
||||
|
@ -402,7 +402,7 @@ MySQL 中并发事务的控制方式无非就两种:**锁** 和 **MVCC**。锁
|
||||
**锁** 控制方式下会通过锁来显示控制共享资源而不是通过调度手段,MySQL 中主要是通过 **读写锁** 来实现并发控制。
|
||||
|
||||
- **共享锁(S 锁)** :又称读锁,事务在读取记录的时候获取共享锁,允许多个事务同时获取(锁兼容)。
|
||||
- **排他锁(X 锁)** :又称写锁/独占锁,事务在修改记录的时候获取排他锁,不允许多个事务同时获取。如果一个记录已经被加了排他锁,那其他事务不能再对这条事务加任何类型的锁(锁不兼容)。
|
||||
- **排他锁(X 锁)** :又称写锁/独占锁,事务在修改记录的时候获取排他锁,不允许多个事务同时获取。如果一个记录已经被加了排他锁,那其他事务不能再对这条记录加任何类型的锁(锁不兼容)。
|
||||
|
||||
读写锁可以做到读读并行,但是无法做到写读、写写并行。另外,根据根据锁粒度的不同,又被分为 **表级锁(table-level locking)** 和 **行级锁(row-level locking)** 。InnoDB 不光支持表级锁,还支持行级锁,默认为行级锁。行级锁的粒度更小,仅对相关的记录上锁即可(对一行或者多行记录加锁),所以对于并发写入操作来说, InnoDB 的性能更高。不论是表级锁还是行级锁,都存在共享锁(Share Lock,S 锁)和排他锁(Exclusive Lock,X 锁)这两类。
|
||||
|
||||
|
1853
docs/database/sql/sql-questions-01.md
Normal file
1853
docs/database/sql/sql-questions-01.md
Normal file
File diff suppressed because it is too large
Load Diff
1201
docs/database/sql/sql-syntax-summary.md
Normal file
1201
docs/database/sql/sql-syntax-summary.md
Normal file
File diff suppressed because it is too large
Load Diff
@ -192,6 +192,9 @@ JVM 这部分内容主要参考 [JVM 虚拟机规范-Java8 ](https://docs.oracle
|
||||
- [数据库基础知识总结](./database/basis.md)
|
||||
- [NoSQL基础知识总结](./database/nosql.md)
|
||||
- [字符集详解](./database/character-set.md)
|
||||
- SQL :
|
||||
- [SQL语法基础知识总结](./database/sql/sql-syntax-summary.md)
|
||||
- [SQL常见面试题总结](./database/sql/sql-questions-01.md)
|
||||
|
||||
### MySQL
|
||||
|
||||
|
@ -8,7 +8,6 @@ icon: project
|
||||
|
||||
下面这几个项目都是非常适合 Spring Boot 初学者学习的,下面的大部分项目的总体代码架构我都看过,个人觉得还算不错,不会误导没有实际做过项目的朋友。
|
||||
|
||||
- **[blog](https://github.com/X1192176811/blog)** :一款基于 SpringBoot + Vue 开发的前后端分离博客,非常精致,功能也比通过类型博客系统更加丰富完善。采用 SpringSecurity 进行权限管理,ElasticSearch 全文搜索,支持 QQ、微博第三方登录、在线聊天、发布说说等功能。相关阅读:[这个 SpringBoot+ Vue 开源博客系统太酷炫了!](https://mp.weixin.qq.com/s/CCzsX3Sn2Q3vhuBDEmRTlw)。
|
||||
- **[forest](https://github.com/rymcu)** :下一代的知识社区系统,可以自定义专题和作品集。后端基于 SpringBoot + Shrio + MyBatis + JWT + Redis,前端基于 Vue + NuxtJS + Element-UI。
|
||||
- **[vhr](https://github.com/lenve/vhr "vhr")** :微人事是一个前后端分离的人力资源管理系统,项目采用 SpringBoot+Vue 开发。
|
||||
- **[favorites-web](https://github.com/cloudfavorites/favorites-web)** :云收藏 Spring Boot 2.X 开源项目。云收藏是一个使用 Spring Boot 构建的开源网站,可以让用户在线随时随地收藏的一个网站,在网站上分类整理收藏的网站或者文章。
|
||||
|
Loading…
x
Reference in New Issue
Block a user