数据库

MongoDB中的定时索引示例详解

MongoDB中存在一种索引,叫做TTL索引(time-to-live index,具有生命周期的索引),这种索引允许为每一个文档设置一个超时时间。一个文档达到预设置的老化程度后就会被删除。 数据到期对于某些类型的信息非常有用,例如机器生成的事件数据,日志...

PostgreSQL 数组类型操作使用及特点详解

PostgreSQL 数组类型使用详解 可能大家对 PostgreSQL这个关系型数据库不太熟悉,因为大部分人最熟悉的,公司用的最多的是 MySQL 我们先对PostgreSQL数据库 (下面简称 PG)简单的介绍一下,以后有机会,再单独写一篇专门介绍pg...

Oracle 11g Dataguard参数详解

注:本文译自《Oracle Data Guard 11g Handbook》 Page 78 – Page 88 就Data Guard(后面都写成DG)来说,我们只关注如下三种参数: 1.独立于数据库角色的参数 2.数据库角色为primary时的参数 3...

MySQL最大连接数限制的修改步骤

前言 随着现在大部分的工程结构都是微服务化,每个服务一般都有本服务独立的DB库,对MySQL的连接数要求也是越来越多。如果本地安装的测试数据,没有对MySQL默认连接数修改,测试时,多开几个微服务,可能就遇到数据库连接数过多的问题。对MySQl默认的最大连...

使用mongoose和bcrypt实现用户密码加密的示例

前面的话 最近在做的个人项目中,需要对密码进行加密保存,对该操作的详细步骤记录如下 介绍 关于mongoose已经写过博客就不再赘述,下面主要介绍bcrypt bcrypt是一个由两个外国人根据Blowfish加密算法所设计的密码散列函数。实现中bcryp...

MySQL之JSON类型字段的使用技巧分享

准备工作 JSON对象基础操作 JSON数组操作 更多操作 JSON字段在JAVA中的实践 测试环境: MySQL8.0.19 准备工作 CREATE TABLE json_demo ( `id` INT ( 11 ) NOT NULL PRIMARY K...

mysql 触发器的使用及注意点

前言 在上一篇,我们详细了解了mysql 存储过程 相关的内容,存储过程属于数据库编程的一种,使用存储过程可以在一定程度上减少程序与mysql服务的IO交互的次数,提升性能; 本篇要介绍的是mysql的触发器,也属于数据库编程的一种,相对存储过程来说,使用...

一文带你理解慢SQL分析与优化

背景介绍 从系统设计角度看,一个系统从设计搭建到数据逐步增长,SQL 执行效率可能会出现劣化,为继续支撑业务发展,我们需要对慢 SQL 进行分析和优化,严峻的情况下甚至需要对整个系统进行重构。所以我们往往需要在系统设计前对业务进行充分调研、遵守系统设计规范...

MySQL和MongoDB设计实例对比分析

下面通过一个设计实例对比一下二者:假设我们正在维护一个手机产品库,里面除了包含手机的名称,品牌等基本信息,还包含了待机时间,外观设计等参数信息,应该如何存取数据呢? 如果使用MySQL的话,应该如何存取数据呢? 如果使用MySQL话,手机的基本信息单独是一...