![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
文章平均质量分 75
topEngineerr
个人邮箱drstime@163.com。欢迎交流。
展开
-
锁-spring shedlock
背景spring shedlock用于在分布式服务的情况下执行定时任务,例如定时删除数据库中的一些数据,做数据迁移等等操作。这项技术在项目的分布式服务中大量使用。使用的主要原因有以下几点:定时任务的业务需要,要在服务service正常运行的过程当中同时在背后执行一些操作,满足我们的业务需要,定时任务也就是schedule task必不可少。 分布式服务的要求。试想下面一个场景: 随着业务增长,有一天单个服务service的压力过大,一个服务支撑不住了,我们要考虑部署多个服务来分散压力。这时问题就原创 2022-03-30 16:42:18 · 2947 阅读 · 0 评论 -
postgres dump备份和restore还原
1.将数据库备份成dump文件.首先进入cmd的postgres的bin目录下方,然后执行下面的命令:pg_dump -U 'username' -p 'port number' -d 'databse' < 'dump file name'例如:pg_dump -U postgres -p 5437 -d postgres < bills_with_5_tenants.dump2. 将dump文件导入到数据库当中:首先进入cmd的postgres的bin目录下方,然后执行原创 2022-02-23 22:34:43 · 1697 阅读 · 0 评论 -
postgres query plan
PostgreSQL数据库针对它收到的每一个sql查询都会设计一个query plan-查询计划。要想拥有良好的查询性能performance,选择正确的query计划来匹配查询的结构和数据本身的特性绝对是至关重要的,因此postgres数据库系统有一个复杂的计划器planner用来为sql查询选择好的query plan。 我们可以使用 EXPLAIN 命令查看规划器为任何查询创建的查询计划。query plan查询计划的结构是计划节点树plan node。 树底层的节点是表扫描节点:它们从表中返回.原创 2021-07-30 16:37:41 · 1753 阅读 · 0 评论 -
服务器performance优化总结
本文的总结经验大多基于postgres数据库避免使用lower函数todo查询时默认不返回counttodo创建正确得index1.order by后面跟的多个条件需要建立联合索引,否则不会进行index scan根据sql调整index:order by creation_date desc, id asc limit 10, you need to create index(creation_date desc, id asc).order by creation_.原创 2021-07-08 17:39:20 · 243 阅读 · 0 评论 -
postgres for 循环
do $$declarea integer := 1;begin while a < 1000000 loop--循环体内容....--变量改变+1 a= a+1; end loop;end $$;原创 2021-02-11 17:10:53 · 2048 阅读 · 0 评论 -
微服务架构中的分布式事务
本编博客主要介绍分布式事务的概念以及行业解决方案。微服务架构越来越流行了。然而,微服务中一个普遍的问题是如何跨多个微服务管理分布式事务。 这篇文章将分享一些经验,并解释问题和可能解决该问题的模式分布式事务概念什么是分布式?什么是事务?什么是分布式事务当微服务架构将单体系统分解为多个服务时,它可能会打破之前的事务。微服务架构意味着单体系统中的本地事务现在被分配到多个服务中,这些服务将按顺序调用。首先我们来看一个单体系统当中使用localtransaction的客户订单示例:在上..原创 2020-11-13 17:41:39 · 602 阅读 · 0 评论 -
postgres 在sql语句中自动生成UUID
> create extension "uuid-ossp";CREATE EXTENSION> select uuid_generate_v4(); uuid_generate_v4-------------------------------------- a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11原创 2020-09-22 11:56:51 · 1450 阅读 · 0 评论 -
mysql本地安装使用教程 windows
下载从https://dev.mysql.com/downloads/mysql/下载MySQL社区服务器ZIP包:选中“General Available (GA) Releases”标签,在“选择操作系统”中,选择“ Microsoft Windows”。如下所示:在“其他下载”下,下载“ Windows(x86,64位),ZIP ARCHIVE(mysql-8.0。{xx} -w...原创 2019-11-05 17:34:16 · 379 阅读 · 0 评论 -
sql关键字group by
SQL中的GROUP BY语句用于借助某些function将相同的数据分组。注意这里的借助二字。也就是说,如果特定的列在不同的行中具有相同的值,则它将这些行排列在一组中。关于GROUP BY的使用要点:GROUP BY子句需要和SELECT语句一起使用。 在查询中,GROUP BY子句放在WHERE子句之后。 在查询中,如果使用GROUP BY子句,则将其放在ORDER BY子句之前。...原创 2019-10-30 12:04:16 · 633 阅读 · 0 评论 -
leetcode数据库题
176 第二高的薪水编写一个 SQL 查询,获取 Employee表中第二高的薪水(Salary)。+----+--------+| Id | Salary |+----+--------+| 1 | 100 || 2 | 200 || 3 | 300 |+----+--------+例如上述Employee表,SQL查询应该返回200 作...原创 2019-10-29 17:33:43 · 299 阅读 · 0 评论 -
sql语句重要基础知识
Table of ContentsDistinctlike别名UNION视图sql当中的一些函数on和where的区别Distinct在表中,一个列可能会包含多个重复值,有时您也许希望仅仅列出不同(distinct)的值。DISTINCT 关键词用于返回唯一不同的值。其语法如下:SELECT DISTINCT column_name,column...原创 2019-10-21 17:44:45 · 191 阅读 · 0 评论 -
数据库查询join的知识总结
在sql当中,有下面这些join类型:(INNER)JOIN:返回两个表中具有匹配值的记录 LEFT(OUTER)JOIN:返回左侧表中的所有记录,以及右侧表中的匹配记录 RIGHT (OUTER) JOIN:从右表返回所有记录,并从左表返回匹配的记录 FULL(OUTER)JOIN:当左表或右表中存在匹配项时,返回所有记录分别如下图所示:Inner joinINNE...原创 2019-10-15 19:03:05 · 528 阅读 · 0 评论 -
TRUNCATE, DELETE,和 DROP的区别
TRUNCATE,DELETE和DROP之间的区别是最常见的面试问题之一。这是它们之间的一些共同差异。TRUNCATETRUNCATE SQL查询从表中删除所有行,且不记录单个行的删除日志。下面的示例从“客户”表中删除所有数据。TRUNCATE TABLE Customers; TRUNCATE是DDL命令 TRUNCATE是使用表锁执行的,整个表都被锁定以删除所有记录。...原创 2019-10-14 14:49:10 · 253 阅读 · 0 评论 -
事务重要知识及实现原理
Table of Contents事务基础知识数据库事务的定义事务的隔离级别事务是如何在技术层面实现的?问题:如何对数据库操作加锁?问题:MVCC在数据库事务当中的如何应用?问题:事务操作回滚是如何实现的?问题:数据库如何实现原子性?Spring事务事务的传播Spring里事务的传播注解@Translational在什么情况下会失效?为什么?解决...原创 2018-07-03 16:38:50 · 433 阅读 · 0 评论 -
缓存重点知识总结以及分布式缓存框架redis和Memcached介绍
Table of Contents一个实际的例子缓存的分类服务端缓存缓存的几种淘汰策略是什么Redis,Memcached,和Ehcache等缓存框架,主要的特点是什么?分别适用于哪些业务场景EhcacheMemcachedRedisredis支持哪些数据结构,提供哪些数据类型?redis是单线程的吗?redis是如何存储一个String的redis...原创 2018-07-16 16:08:43 · 2263 阅读 · 0 评论 -
Spring是如何进行数据库连接的
Table of Contents概述java原生JDBCJdbcTemplatejdbcTemplate查询queryjdbcTemplate更新操作update/delete...JdbcTemplate的query底层是如何实现的?JdbcTemplate最佳实践数据库连接和DataSource总结本篇博客基于java8.概述Spring框架提...原创 2018-12-22 18:51:33 · 17434 阅读 · 0 评论 -
批处理框架spring batch基础知识介绍
Table of Contentsspring batch简介Spring Batch架构介绍Spring Batch核心概念介绍什么是Job什么是JobInstance什么是JobParameters什么是JobExecution什么是Step什么是StepExecution什么是ExecutionContext什么是JobRepository...原创 2019-01-10 12:29:27 · 119192 阅读 · 30 评论 -
数据库常用sql总结
本篇博客是对一些比较常见的数据库知识的汇总,并会持续更新。Postgres如何获取postgres所有的表里的记录条数?SELECT nspname AS schemaname,relname,reltuplesFROM pg_class CLEFT JOIN pg_namespace N ON (N.oid = C.relnamespace)WHERE nspna...原创 2019-05-02 15:41:28 · 228 阅读 · 0 评论 -
为什么索引可以让查询变快
Table of Contents概述计算机存储原理索引是如何工作的?二分查找法索引为何使得查询变快?为什么索引不能建立的太多?索引有弊端吗?概述人类存储信息的发展历程大致经历如下:由于是个人凭着自己理解总结的,因此可能不一定精确,但是毋庸置疑的是,在当代,各大公司机构部门的数据都是维护在数据库当中的。数据库作为数据存储介质发展的最新产物,必然是具有许多...原创 2019-04-19 18:01:40 · 6191 阅读 · 0 评论 -
数据库的主键和外键
数据库主键是指表中一个列或列的组合,其值能唯一地标识表中的每一行。这样的一列或多列称为表的主键,通过它可强制表的实体完整性。一个表只能有一个PRIMARY KEY约束,而且PRIMARY KEY约束中的列不能接受空值。主键具有的特点:唯一性、非空性。思考:主键带来了什么样的优点和缺点?外键也叫FOREIGN KEY,是用于将两个表链接在一起的键。FOREIGN KEY...原创 2019-07-03 15:49:56 · 15422 阅读 · 0 评论 -
数据库重要基础知识
Table of Contents常见的数据库优化手段索引的优缺点,什么字段上应该建立索引为什么建立索引可以提高查询效率数据库连接池介绍Druid连接池MVCC原理及应用Mysql并发控制读写锁锁粒度Mysql索引数据库视图noSql知识Nosql优点Nosql不足适合noSql的场景典型使用方式:Nosql与sql的区别Mo...原创 2018-08-04 00:30:23 · 2357 阅读 · 0 评论