随笔分类 -  数据库

数据库
摘要:在上一篇文章《从架构特点到功能缺陷,重新认识分析型分布式数据库》中,我们完成了对不同“分布式数据库”的横向分析,本文Ivan将讲述拆解的第二部分,会结合NoSQL与NewSQL的差异,从纵向来谈谈OLTP场景“分布式数 据库”实现方案的关键技术要点。本文既是前文的延伸,同时也算是分布式数据库专题文章 阅读全文
posted @ 2018-06-04 13:16 杨浪 阅读(2320) 评论(0) 推荐(0)
摘要:引言 为什么写这篇文章? 首先,缓存由于其高并发和高性能的特性,已经在项目中被广泛使用。在读取缓存方面,大家没啥疑问,都是按照下图的流程来进行业务操作。但是在更新缓存方面,对于更新完数据库,是更新缓存呢,还是删除缓存。又或者是先删除缓存,再更新数据库,其实大家存在很大的争议。目前没有一篇全面的博客, 阅读全文
posted @ 2018-05-28 10:00 杨浪 阅读(7268) 评论(0) 推荐(1)
摘要:引言 为什么写这篇文章? 博主的《分布式之消息队列复习精讲》得到了大家的好评,内心诚惶诚恐,想着再出一篇关于复习精讲的文章。但是还是要说明一下,复习精讲的文章偏面试准备,真正在开发过程中,还是脚踏实地,一步一个脚印,不要投机取巧。考虑到绝大部分写业务的程序员,在实际开发中使用redis的时候,只会s 阅读全文
posted @ 2018-05-28 09:59 杨浪 阅读(315) 评论(0) 推荐(0)
摘要:SET NOCOUNT ON 在存储过程中,经常用到SET NOCOUNT ON; 作用:阻止在结果集中返回显示受T-SQL语句或则usp影响的行计数信息。当SET ONCOUNT ON时候,不返回计数,当SET NOCOUNT OFF时候,返回计数; 即使当SET NOCOUNT ON 时候,也更 阅读全文
posted @ 2018-05-11 00:46 杨浪 阅读(305) 评论(0) 推荐(0)
摘要:行转列,列转行是我们在开发过程中经常碰到的问题。行转列一般通过CASE WHEN 语句来实现,也可以通过 SQL SERVER 2005 新增的运算符PIVOT来实现。用传统的方法,比较好理解。层次清晰,而且比较习惯。 但是PIVOT 、UNPIVOT提供的语法比一系列复杂的SELECT...CAS 阅读全文
posted @ 2018-05-08 14:25 杨浪 阅读(317) 评论(0) 推荐(0)
摘要:1 USE [XXXXXXXX.BbbbbbbbCcccccccc.Dataware] 2 GO 3 /****** Object: StoredProcedure [dbo].[usp_CommonDataResourcePaged] Script Date: 2018/4/20 9:01:14 ******/ 4 SET ANSI_NULLS ON 5 GO ... 阅读全文
posted @ 2018-04-20 23:33 杨浪 阅读(310) 评论(0) 推荐(0)
摘要:什么是事务(Transaction)? 是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行。 事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的资源。通过将一组相关操作组合为一个要么全部成功要么全部失败的单元,可以简化错误恢复并使应用程序更加可靠 阅读全文
posted @ 2018-04-17 15:15 杨浪 阅读(287) 评论(0) 推荐(0)
摘要:一.索引简介 众所周知,索引是关系型数据库中给数据库表中一列或多列的值排序后的存储结构,SQL的主流索引结构有B+树以及Hash结构,聚集索引以及非聚集索引用的是B+树索引。这篇文章会总结SQL Server以及MySQL的InnoDB和MyISAM两种SQL的索引。 SQL Sever索引类型有: 阅读全文
posted @ 2018-04-17 14:54 杨浪 阅读(437) 评论(0) 推荐(0)
摘要:UNPIVOT 操作符说明 简而言之,UNPIVOT操作符就是取得一个行的数据集合,然后把每一行都转换成多个行数据。为了更好地理解,请看下图: 图1 从上图中,你能发现UNPOVOT操作符,取得了两行数据,每行包含三个Price值,然后将这些转化成6行数据,其中每个产品价格都是一个不同的行。 UNP 阅读全文
posted @ 2018-04-12 15:40 杨浪 阅读(433) 评论(0) 推荐(0)
摘要:一.本文所涉及的内容(Contents) 二.背景(Contexts) 其实行转列并不是一个什么新鲜的话题了,甚至已经被大家说到烂了,网上的很多例子多多少少都有些问题,所以我希望能让大家快速的看到执行的效果,所以在动态列的基础上再把表、分组字段、行转列字段、值这四个行转列固定需要的值变成真正意义的参 阅读全文
posted @ 2018-04-12 15:36 杨浪 阅读(526) 评论(0) 推荐(0)
摘要:sql中的连接查询有inner join(内连接)、left join(左连接)、right join(右连接)、full join(全连接)四种方式,它们之间其实并没有太大区别,仅仅是查询出来的结果有所不同。 例如我们有两张表: Orders表通过外键Id_P和Persons表进行关联。 1.in 阅读全文
posted @ 2018-04-10 17:20 杨浪 阅读(56145) 评论(5) 推荐(4)
摘要:目录 目录 SQL Server Management Studio的使用与配置 1 设置SSMS显示行号 2 添加注释与取消注释的快捷键 3 新建查询的快捷键 4 开启sql语句TIME与IO的统计信息 5 临时修改SQL Server语言环境 参考资料 目录 SQL Server Managem 阅读全文
posted @ 2018-03-29 18:34 杨浪 阅读(13263) 评论(0) 推荐(0)
摘要:下面是摘自别人的博客 最近遇到一个问题,需要对一张表做统计,这个统计有什么特别之处值得我记录了下来呢?大家知道SQL中聚合函数GROUP BY的结果一般为一列,即多个值通过聚合函数运算统计到一起,但是如何将不同条件的值统计到不同列中呢,即按条件统计到多个列中。举个栗子: 转为: 这时候我们除了用到G 阅读全文
posted @ 2018-01-05 22:31 杨浪 阅读(7039) 评论(0) 推荐(0)
摘要:语法: update test set 字段1=case when 条件1 then 值1 when 条件2 then 值2 end 示例: update PMS_ProjectInfo set ProProgress=case when ProProgress+@ProProgress >=1 t 阅读全文
posted @ 2018-01-05 22:27 杨浪 阅读(3349) 评论(0) 推荐(0)
摘要:1. 写法轻松,更新效率高:update table1 set field1=table2.field1,field2=table2.field2from table2where table1.id=table2.id 2. 常规方式,种写法相当于一个 Left join, 以外面的where为更新 阅读全文
posted @ 2018-01-05 22:23 杨浪 阅读(7678) 评论(0) 推荐(1)
摘要:网上关于SQL优化的教程很多,但是比较杂乱。近日有空整理了一下,写出来跟大家分享一下,其中有错误和不足的地方,还请大家纠正补充。 这篇文章我花费了大量的时间查找资料、修改、排版,希望大家阅读之后,感觉好的话推荐给更多的人,让更多的人看到、纠正及补充。 1.对查询进行优化,要尽量避免全表扫描,首先应考 阅读全文
posted @ 2018-01-04 12:50 杨浪 阅读(237) 评论(0) 推荐(0)
摘要:C#读取MySql时,如果存在字段类型为date/datetime时的可能会出现以下问题“Unable to convert MySQL date/time value to System.DateTime”原因:可能是该字段(date/datetime)的值默认缺省值为:0000-00-00/00 阅读全文
posted @ 2017-12-06 16:09 杨浪 阅读(564) 评论(0) 推荐(0)
摘要:在部署前期,首要任务就是考虑如何快速把基于 SQL Server 数据库的应用程序移植到阿里云的 MySQL 数据库。由于程序是基于 O/R mapping 编写,并且数据库中没有使用存储过程、用户函数等数据库功能,因此仅仅需要考虑的是数据库中的数据如何转换到新的 MySQL 数据库中。 通过度娘查 阅读全文
posted @ 2017-11-01 11:52 杨浪 阅读(1798) 评论(0) 推荐(1)
摘要:使用事务和SqlBulkCopy批量插入数据 SqlBulkCopy是.NET Framework 2.0新增的类,位于命名空间System.Data.SqlClient下,主要提供把其他数据源的数据有效批量的加载到SQL Server表中的功能。类似与 Microsoft SQL Server 包 阅读全文
posted @ 2017-10-25 10:41 杨浪 阅读(1717) 评论(0) 推荐(0)
摘要:1 USE master 2 RESTORE DATABASE 新建的没有任何数据的数据库名 3 FROM DISK = 'e:\数据库备份文件.bak' 4 WITH MOVE '原来的逻辑名称' TO 'e:\新建的没有任何数据的数据库名.mdf', 5 MOVE '原来的逻辑名称_log' TO 'e:\新建的没有任何数据的数据库名_log.ldf', 6 ST... 阅读全文
posted @ 2017-10-16 16:27 杨浪 阅读(484) 评论(0) 推荐(0)