数据库

关于分布式锁的三种实现方式

Java中的锁主要包括synchronized锁和JUC包中的锁,这些锁都是针对单个JVM实例上的锁,对于分布式环境如果我们需要加锁就显得无能为力。 在单个JVM实例上,锁的竞争者通常是一些不同的线程,而在分布式环境中,锁的竞争者通常是一些不同的线程或者进...

Redis生成全局唯一ID的实现方法

简介: 全局唯一ID生成器是一种在分布式系统下用来生成全局唯一ID的工具 特性: 唯一性 高性能 安全性 高可用 递增性 生成规则: 有时为了增加ID的安全性,我们可以不直接使用Redis自增的数值,而是拼接一些其他信息 ID组成部分: 符号位:1bit,...

详解Redis中的List类型

本系列将和大家分享Redis分布式缓存,本章主要简单介绍下Redis中的List类型,以及如何使用Redis解决博客数据分页、生产者消费者模型和发布订阅等问题。 Redis List的实现为一个双向链表,即可以支持反向查找和遍历,更方便操作,不过带来了部分...

MySQL 原理优化之Group By的优化技巧

今天来看看MySQL 中如何多Group By 语句进行优化的。 先创建tb_user 表如下: 通过show index from tb_user; 命令查看表,没有存在任何的索引。 执行如下代码,查看SQL 执行情况 explain select pr...

Oracle中sys和system用户、系统权限和角色的区别

1)最重要的区别,存储的数据的重要性不同 【sys】  所有oracle的数据字典的基表和视图都存放在sys用户中,这些基表和视图对于oracle的运行是至关重要的,由数据库自己维护,任何用户都不能手动更改。sys用户拥有dba,sysdba,s...

SqlServer存储过程实现及拼接sql的注意点

这里我昨天碰到的问题就是执行一段根据变量tableName对不同的表进行字段状态的更改。由于服务器原因,我不能直接在数据访问层写SQL,所以只好抽离出来放到存储过程里面。 这里就出现了一个问题,我花费了好久才弄通!   其实就是很简单的一个SQL语句:  ...

postgreSQL 非count方法算记录数操作

一般方法 select count(1) from table_name; 全量扫描一遍表,记录越多,查询速度越慢 新法 PostgreSQL 还真提供了一个这样的途径,那就是系统表 pg_class,这个系统表里头,存储着每个表的统计信息,其中 relt...

MySQL中增删改查操作与常见陷阱详解

[var] 本文作为MySQL系列第二篇文章,详细讲解了MySQL的增删改查的语句、语义和一些我们经常在开发工作中暴露的问题,MySQL的增删改查又叫数据操作语句,本文有讲些了一些常用的数据操作语句,select语句后续将作为一篇完整的文章进行学习它的查询...

oracle分区表之hash分区表的使用及扩展

Hash分区是通过对分区键运用Hash算法从而决定数据的分区归属。使用Hash分区有什么优点呢? 常用的分区表所具有的优点:如提高数据可用行,减少管理负担,改善语句性能等优点,hash分区同样拥有。此外,由于Hash分区表是按分区键的hash计算结果来决定...

在Ubuntu中安装Postgresql数据库的步骤详解

介绍 众所周知PostgreSQL 是自由的对象-关系型数据库服务器(数据库管理系统),在ubuntu下安装Postgresql是一件非常容易的事情,下面话不多说了,来跟着小编来一起看看详细的介绍吧。 安装方法如下: 1、安装Postgresql的服务器以...