衣舞晨风

勿忘初心

十问 TiDB :关于架构设计的一些思考

“我希望能够把 TiDB 的设计的一些理念能够更好的传达给大家,相信大家理解了背后原因后,就能够把 TiDB 用的更好。” 做 TiDB 的缘起是从思考一个问题开始的:为什么在数据库领域有这么多永远也躲不开的坑?从 2015 年我们写下第一行代码,3 年以来我们迎面遇到无数个问题,一边思...

2018-11-17 07:10:49

阅读数 140

评论数 0

OceanBase 选举

1、RootServer主备 每个集群一般部署一主一备两台RootServer,主备之间数据强同步,即所有的操作都需要首先同步到备机,接着修改主机,最后才能返回操作成功。 RootServer主备之间需要同步的数据包括:RootTable中记录的tablet分布信息、ChunkServerMa...

2018-11-13 08:59:54

阅读数 144

评论数 0

OceanBase 架构初探

1、设计思路 OceanBase的目标是支持数百TB的数据量以及数十万TPS、数百万QPS的访问量,无论是数据量还是访问量,即使采用非常昂贵的小型机甚至是大型机,单台关系数据库系统都无法承受。 一种常见的做法是根据业务特点对数据库进行水平拆分,通常的做法是根据某个业务字段(通常取用户编号,us...

2018-11-13 08:44:14

阅读数 408

评论数 0

数据库中varchar和Nvarchar区别与联系

在数据库中新建表的时候发现了字段类型有的带n有的不带n,那么两者之间有什么区别?         于是上网查找一些资料如下: 一、 1、CHAR。CHAR存储定长数据很方便,CHAR字段上的索引效率级高,比如定义char(10),那么不论你存储的数据是否达到了10个字节,都要占去10个字节的空间,...

2015-05-13 19:46:36

阅读数 2470

评论数 0

Visual Studio 2010生成SQL Server测试数据

1、创建SQL Server 2005数据库项目 首先,打开Visual Studio 2010,选择新建项目,在下图中,选择建立一个SQL Server 2005的数据库项目,命名为Database1 2、导入数据 在数据库项目中鼠标右键,在弹出的菜单中选择“导入数据对象和设置”,如下图:...

2015-04-23 15:10:55

阅读数 3350

评论数 4

无法打开物理文件 "D:\understructuredata _DAT.MDF"。操作系统错误 5:"5(拒绝访问。)"

错误信息: 标题: Microsoft SQL Server Management Studio ------------------------------ 附加数据库 对于 服务器“HC-PC”失败。 (Microsoft.SqlServer.Smo) 有关帮助信息,请单击: http...

2014-11-27 18:32:20

阅读数 2475

评论数 2

内存数据库

内存数据库,顾名思义就是将数据放在内存中直接操作的数据库。相对于磁盘,内存的数据读写速度要高出几个数量级,将数据保存在内存中相比从磁盘上访问能够极大地提高应用的性能。同时,内存数据库抛弃了磁盘数据管理的传统方式,基于全部数据都在内存中重新设计了体系结构,并且在数据缓存、快速算法、并行操作方面也进行...

2014-05-07 08:19:25

阅读数 1161

评论数 0

SQL编码中注意的性能问题

1、选择合适的数据类型 为列选择最小化的数据类型 如果一列中的文本长度不一,使用VARCHAR而不是CHAR 不存储Unicode不要使用NVARCHAR或者NCHAR 如果一行的长度不超过8000,使用VARCHAR而不是TEXT 对于仅存数字的列要使用数字类型而不要用字符类型 不要...

2014-04-29 15:18:37

阅读数 1197

评论数 0

“分布式事务”的理解(适用于访问多个数据库之间)

总体来看,如果所有数据的修改仅依靠单个数据源就能完成,则这个事务就相当简单了。然而,随着商业需求的日益增加,应用程序变得越来越复杂,经常需要访问多个数据库,这些数据库通常分布在不同的地方,这就是分布式事务。分布式事务修改的数据存储在多个或多种类型的数据源中,这些数据源分布在多台机器上,甚至更复杂的...

2014-04-29 08:43:12

阅读数 1466

评论数 0

Subqueries are not allowed in this context. Only scalar expressions are allowed.

我想获取表中某一列的最大值,然后插入到另外一个表中,报错的Sql如下: insert into AA(AA_ID,AA_YWFSRQ) values (NewID(),( SELECT CONVERT(varchar, DATEADD(day,- 1, CAST(SUBSTRING(MAX...

2014-04-21 18:34:17

阅读数 1803

评论数 0

SQL语句Left join 中On和Where的用法区别

原文地址:点击打开链接 SQL语句如下:

2014-04-13 11:10:27

阅读数 1472

评论数 0

Sql查询原理与Select执行顺序(详细)

sql查询原理和Select执行顺序 一 sql语句的执行步骤  1)语法分析,分析语句的语法是否符合规范,衡量语句中各表达式的意义。  2) 语义分析,检查语句中涉及的所有数据库对象是否存在,且用户有相应的权限。  3)视图转换,将涉及视图的查询语句转换为相应的对基表查询语句。  4)表达式转换...

2014-04-13 10:21:11

阅读数 2097

评论数 0

SQL Select查询原理--查询语句执行原则(基础)

1.单表查询:根据WHERE条件过滤表中的记录,形成中间表(这个中间表对用户是不可见的);然后根据SELECT的选择列选择相应的列进行返回最终结果。 1)简单的单表查询 SELECT 字段  FROM 表名  WHERE 条件表达式 那它们是按什么顺序执行呢?分析器会先看语句的第一个词,当它...

2014-04-13 09:54:28

阅读数 2908

评论数 0

对于PowerDesigner中设计表自动生成Sql的分析

if exists (select 1 from sysobjects where id = object_id('DWLX') and type = 'U') drop table DWLX go /*====...

2014-03-19 19:18:47

阅读数 1612

评论数 0

Delete与truncate的区别

Delete table_name 删除"表格记录"会把操作记录在日志中,可以通过事务回滚来恢复删除的数据。         truncate table table_name删除"表格记录"不可恢复 。        delete 语句是数据库操作语言(d...

2014-03-19 19:03:11

阅读数 1615

评论数 0

SQL UNION 和 UNION ALL 操作符

SQL UNION 操作符 UNION 操作符用于合并两个或多个 SELECT 语句的结果集。 请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。 SQL UNION 语法 SELECT colu...

2014-03-05 16:08:33

阅读数 1906

评论数 0

Oracle 连接查询(mysql、 sql server一样)

背景: emp表中有14条记录: dept表中4条记录: salgrade表中有5条记录: 一、交叉连接(CROSS JOIN)        交叉连接(CROSS JOIN):有两种,显式的和隐式的,不带ON子句,返回的是两表的乘积,也叫笛卡尔积。        例如:下面的语句1和...

2014-02-08 16:34:15

阅读数 1234

评论数 0

更新数据库中某一列的值,让其在原数的基础上加N

update 表名 set 目标列名 = 目标列名 + N ;

2014-01-23 11:39:22

阅读数 3569

评论数 0

数据库事务

BEGIN TRAN标记事务开始COMMIT TRAN 提交事务ROLLBACK TRAN回滚事务 一般把DML语句(select ,delete,update,insert语句)放在BEGIN TRAN...COMMIT TRAN 之间作为一个事务处理也就是那些语句执行过程中如果遇到错误,无论哪...

2014-01-20 16:26:49

阅读数 923

评论数 0

order by 、group by 、having的用法区别

order by 从英文里理解就是行的排序方式,默认的为升序。 order by 后面必须列出排序的字段名,可以是多个字段名。 group by 从英文里理解就是分组。必须有“聚合函数”来配合才能使用,使用时至少需要一个分组标志字段。什么是“聚合函数”? 像sum()、count()、avg()等...

2014-01-08 09:47:50

阅读数 1515

评论数 0

提示
确定要删除当前文章?
取消 删除