![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
文章平均质量分 56
quick刀斩乱麻
follow for more
展开
-
MySQL之事务ACID
Referencehttps://segmentfault.com/a/1190000022292918原创 2022-07-20 23:09:46 · 116 阅读 · 0 评论 -
谈谈谈数据治理
Garbage In, Garbage Out.六大维度:原创 2022-06-06 19:07:18 · 128 阅读 · 0 评论 -
分库与分表
Preamble对RDB数据存储和访问机制的一种补充 针对海量请求的优化:优化sql/索引/字段;读写分离;分库分表 rule of thumb: 单表行数 >500万行 或单表容量 >2GB 时,考虑分库分表拆分方式垂直拆分垂直分库:按业务 垂直分表:按业务 / 按列每个库/表的结构不同,但需要有一列相同用来关联;优点是逻辑清晰,数据维护简单;缺点是某个业务导致单表/库数据量大时,仍有读写压力,还需要考虑对事务的处理。水平拆分水平分库/表:取模等方式每个库/表的原创 2021-09-30 12:50:04 · 78 阅读 · 0 评论 -
数据库之事务隔离
Read phenomenathree differentread phenomenawhen Transaction 1 reads data that Transaction 2 might have changed:dirty reads:a transaction is allowed to read data from a row that has been modified by another running transaction and not yet committed...原创 2021-09-13 12:47:29 · 175 阅读 · 0 评论 -
postgreSQL的哈希索引
Hash Table (Hash Map)哈希表是根据key直接进行访问的数据结构(这一结构的实现通常采用数组),它通过把关键码值映射(这个映射函数叫做散列函数)到表中一个位置来访问记录,以加快查找的速度。ahash table(hash map) is a data structure that implements an associative array abstract data type,a structure that can map keys to values. A has...原创 2021-08-07 17:24:57 · 284 阅读 · 0 评论 -
postgreSQL的索引
数组索引数组中元素在内存中的存储空间是连续的,在汇编层面可以用基地址(数组名这个变量中存放的就数组中第一个元素的地址)和偏移量(数据类型+下标)进行访问。数据库索引避免遍历所有数据页来进行全表扫描,多数查询可以仅扫描少量索引页及数据页。...原创 2021-08-06 10:09:54 · 1005 阅读 · 0 评论 -
184. Department Highest Salary (leetcode) -mySQL
select b.Name as Department, Employee, Salaryfrom(select Name as Employee ,Salary, DepartmentId,rank() over(partition by DepartmentId order by Salary DESC) as rank_from Employee) aleft join(select id, name from Department) b on a.De.原创 2020-09-25 12:57:26 · 92 阅读 · 0 评论 -
626. Exchange Seats (leetcode) -mySQL
select case when id %2 = 1 and (id < (select count(*) from seat)) then id+1 when id %2 = 0 then id-1 else id end as id,studentfrom seatorder by id原创 2020-09-25 11:39:13 · 81 阅读 · 0 评论 -
596. Classes More Than 5 Students (leetcode) - mySQL
select classfrom coursesgroup by classhaving count(distinct student)>=5原创 2020-09-25 11:20:08 · 65 阅读 · 0 评论 -
182. Duplicate Emails (leetcode) -MySQL
select Email from Person group by Emailhaving count(1) >=2-------------------------------------select distinct t1.Email from Person t1join Person t2on t1.Email = t2.Emailand t1.Id != t2.Id原创 2020-09-24 19:46:58 · 81 阅读 · 0 评论 -
180. Consecutive Numbers(leetcode) - MySQL
select distinct t1.Num as ConsecutiveNumsfrom Logs t1left join Logs t2on t1.Id = t2.Id - 1 and t1.Num = t2.Numleft join Logs t3on t2.Id = t3.Id -1 and t1.Num = t3.Num and t2.Num = t3.Numwhere t2.Id is not null and t3.Id is not null原创 2020-09-24 19:20:17 · 73 阅读 · 0 评论 -
MySQL-DQL-Misc
设置显示格式:CONCAT(expression1,expression2,expression3,...)CONCAT_WS(separator,expression1,expression2,expression3,...)select concat(ename,'雇员的年薪为: ', sal*12) yearsalaryfrom t_employee模糊查询(LIKE):_ : 匹配单个字符;%:匹配任意长度字符串( 0个/1个/多个字符)...原创 2020-09-24 14:19:39 · 70 阅读 · 0 评论 -
VIEW
VIEW是一张虚拟表,VIEW内的数据并不属于VIEW本身,而属于创建VIEW的基本表。VIEW由一个预定义的查询(select语句)组成(其可以由一个表的数据经过筛选或多个表的数据经过连接筛选形成);view被定义后可以像基本表一样使用,用于select、insert、update、delete等语句create view vw1asselect....from...where...视图的作用:简化用户操作(数据汇总/多表连接/字段计算等) 使得不同用户以不同方式观察原创 2020-09-03 16:18:34 · 80 阅读 · 0 评论 -
完整性约束
数据库的完整性是指保护数据库的有效性和正确性,防止数据库中存在不符合语义的、不正确的数据。SQL语言提供了相应的完整性约束机制,以确保将正确的数据保存到数据库中。完整性约束的类型:与表相关的约束(表约束与字段约束):唯一约束/主键约束/外键约束/校验约束/非空约束唯一约束(unique):用于表中的非主键字段,确保字段不会输入重复的值,为其创造唯一索引;唯一键的值可以是NULL,但只允许出现一个NULL值 主键约束(primary key):在数据库中通常用一个字段或几个字段的组合值来唯一标识表原创 2020-09-03 16:19:18 · 205 阅读 · 0 评论 -
SQL触发器
触发器是一种特殊的存储过程,不用人为调用,而是当某种事情发生时自动调用的存储过程; 触发器是被定义在表或视图上的对象(与某表/视图是一个不可分的整体) 触发器没有输入或输出参数 应用场景如维护数据完整性:向score表插入新记录时,判断新记录的学号和课号的字段值是否在student和course表中存在,如不存在则取消插入操作SQL触发器有三种类型:insert / update/ delete (对应到SQL语句操作/窗口操作等相关事件发生时)...原创 2020-09-03 16:19:31 · 222 阅读 · 0 评论