数据库

大数据环境下mongoDB为何要加索引浅析

前言 索引通常能够极大的提高查询的效率。在系统中使用查询时,应该考虑建立相关的索引。 mongodb在存储大数据时,对查询的字段需要添加索引,我测试的是阿里云30多万的数据量,不加索引查询已经到8秒,而添加索引之后是毫秒级! 为集合加索引 mongodb支...

MySQL如何确定VARCHAR大小问题

抛出一个问题,如果需要存字符串到MySQL数据库里面的一张表里的某个字段,如何确定字段的长度大小? 首先不建议使用TEXT类型的,因为使用TEXT会严重影响效率,最好的方式就是使用VARCHAR并确定字段的最大长度。 我们可以先在表里定义一个字段rule_...

手动实现Redis的LRU缓存机制示例详解

前言 最近在逛博客的时候看到了有关Redis方面的面试题,其中提到了Redis在内存达到最大限制的时候会使用LRU等淘汰机制,然后找了这方面的一些资料与大家分享一下。 LRU总体大概是这样的,最近使用的放在前面,最近没用的放在后面,如果来了一个新的数,此时...

浅谈SQL Server 2016里TempDb的进步

几个星期前,SQL Server 2016的最新CTP版本已经发布了:CTP 2.4(目前已经是CTP 3.0)。这个预览版相比以前的CTP包含了很多不同的提升。在这篇文章里我会谈下对于SQL Server 2016,TempDb里的显著提升。 TempD...

面试中老生常谈的MySQL问答集锦夯实基础

1、数据库架构 1.1、MySQL 的基础架构图 给面试官讲一下 MySQL 的逻辑架构,有白板可以把下面的图画一下,图片来源于网络。 Mysql逻辑架构图主要分三层: (1)第一层负责连接处理,授权认证,安全等等  (2)第二层负责编译并优化S...

详解redis集群的三种方式

键分布模型 配置cluster集群 启动集群 Redis三种集群方式:主从复制,哨兵模式,Cluster集群。 主从复制 基本原理 当新建立一个从服务器时,从服务器将向主服务器发送SYNC命令,接收到SYNC命令后的主服务器会进行一次BGSAVE命令,在执...

Windows环境部署Redis集群

一、准备文件 1.下载Redis for windows 的最新版本  下载地址:https://github.com/MSOpenTech/redis/releases 安装到 c:\Redis 目录下(Redis-x64-3.2.100.msi <...

Sql Server里删除数据表中重复记录的例子

[项目] 数据库中users表,包含u_name,u_pwd两个字段,其中u_name存在重复项,现在要实现把重复的项删除! [分析] 1、生成一张临时表new_users,表结构与users表一样; 2、对users表按id做一个循环,每从users表中...

redis学习之RDB、AOF与复制时对过期键的处理教程

生成RDB文件 在执行SAVE命令或者BGSAVE命令创建一个新的RDB文件时,程序会对数据库中的键进行检查,已过期的键不会被保存到新创建的RDB文件中。 举个例子,如果数据库中包含三个键k1、k2、k3,并且k2已经过期,那么当执行SAVE命令或者BGS...

redis keys与scan命令的区别说明

redis keys和scan的区别 redis的keys命令,通常在用来删除相关key时使用,但这个命令有一个弊端,在redis拥有数百万及以上的keys时,执行速度会比较慢,更致命的是,这个命令会阻塞redis多路复用的io主线程,如果这个线程阻塞,在...

快速解决PostgreSQL中的Permission denied问题

想开始学习SQL和Excel那本书,觉得自己亲手去输入才是正道。发现程序后续会用到窗口函数,可是我的mysql没有窗口函数,这本书所提供的数据脚本分别是MS SQL Sever和PostreSQL。 上午我先安装的sql sever,可是由于比较大且在安装...