
Database
文章平均质量分 76
cdai
这个作者很懒,什么都没留下…
展开
-
SQL语句的确定性
SQL语句的确定性1.确定性的用途SQL语句的确定性,从字面上理解就是执行一条语句始终有同样的结果。根据语句类型的不同(DQL/DML/DDL),这里的结果指的可能是查询结果,也可能是副作用,比如对数据库状态的修改。在思考确定性的准确定义之前,我们先看下面三个判断SQL语句确定性的用途:数据复制(Replication):分布式数据库要保持主副本和从副本之间的数据一致性,两种常见的策略是基于语句和基于行数据。前者只发送要执行的语句,比如DML的INSERT/UPDATE,这就要保证这条语句具有确定性原创 2021-10-19 04:02:33 · 535 阅读 · 0 评论 -
数据库引擎学习导读
因为目前项目涉及到数据库查询引擎的实现,所以近来愈发觉得数据库引擎开发是一个很好的技术领域。首先,一个数据库引擎与传统编译器很像,可以细分为三大部分,前端、中端和后端。所谓前端,就是一个SQL解析器把用户的SQL语句转换成语法树(Parse Tree或者叫Concrete Syntax Tree,CST),然后在执行语义检查的同时将其转换成中端所需的输入——抽象语法树(Abstract Synta...原创 2020-03-28 11:36:44 · 711 阅读 · 2 评论 -
深入学习关系理论
周末阴雨连绵,在家闲来无事,抽空读了《Database In Depth: Relational Theory for Practitioners》这本评价不错的关系理论书的开篇。作者C.J.Date是关系理论之父Codd的好友,所以对关系理论的理解是足够深入的。甚至在开篇不久,作者就提到了与Codd理念不合的地方,比如关于NULL的合理性,关于Domain与Type的等价性等。1.SQL不等...原创 2019-10-24 14:02:00 · 951 阅读 · 0 评论 -
深入数据库理论:查询语言
深入数据库理论:查询语言“Theory is when you know everything but nothing works. Practice is when everything works but no one knows why. In our lab, theory and practice are combined: nothing works and no one knows w原创 2016-06-22 22:52:16 · 8102 阅读 · 2 评论 -
NewSQL数据库VoltDB特性简介
VoltDB是一个革命性的新型数据库产品,被称作NewSQL数据库。它基于H-Store,号称比当前数据库产品的吞吐量高45倍,同时又具有很高的扩展性。它的特性主要有以下几点:Ø 高吞吐、低延迟:通过内存计算,存储过程和串行数据访问实现。Ø 可扩展性:自动分区和复制,保证性能和可扩展性。Ø 高可用性:同步的多主复制(在VoltDB中叫K-safety)。Ø 持久化:数据库快照与命令日志(c原创 2014-12-13 14:14:31 · 7416 阅读 · 0 评论 -
《高性能MySQL》读书笔记(上)
《High Performance MySQL》真是本经典好书,从应用层到数据库到硬件平台,各种调优技巧、常见问题全都有所提及。数据库的各种概念技巧平时都有接触,像索引、分区、Sharding等等,但要想真正提高还是得如此系统学习一下。Chapter 1: MySQL Architecture and History1.1 Transaction Isolation Level事务隔离级别真是个老原创 2014-12-06 19:31:18 · 8570 阅读 · 0 评论 -
分布式缓存GemFire架构介绍
1什么是GemFireGemFire是一个位于应用集群和后端数据源之间的高性能、分布式的操作数据(operational data)管理基础架构。它提供了低延迟、高吞吐量的数据共享和事件分发。GemFire充分利用网络中的内存和磁盘资源,形成一个实时的数据网格(data fabric or grid)。 GemFire的主要特性有:Ø 多种网络拓扑Ø 高并发的内存数据结构,避免锁争夺Ø 可选原创 2014-11-22 14:36:29 · 41390 阅读 · 16 评论 -
10条关于数据库的技巧和经验
1)字段长度和类型:数据来自外系统的一定要与外系统保持一致,避免插入失败或截断。禁止使用Blob,Clob,Text,Image等大字段。2)中间表:多对多关联需要添加中间表,多对一加关联字段即可。关联字段为了避免数据迁移麻烦,可以不用自增长ID关联,而是用实际业务关联的值。3)联接查询:若表字段过多,则根据业务拆出一个或多个字表。若有关联过多,则可在主表冗余一些需要的字段来减少查询时的表关联。4原创 2014-10-15 18:47:23 · 2912 阅读 · 0 评论 -
SQLServer导出数据到MySQL
1从SQLServer导出数据执行BCP:bcp "..." queryout "F:\test.txt" -c –S1.2.3.4 -Usa -P1111 命令参数含义:(1) 导入。这个动作使用in命令完成,后面跟需要导入的文件名。(2) 导出。这个动作使用out命令完成,后面跟需要导出的文件名。(3) 使用SQL语句导出。这个动作使用queryout命原创 2013-06-30 21:30:30 · 6613 阅读 · 0 评论 -
ORACLE--Connect By、Level、Start With的使用(Hierarchical query-层次查询)
查找员工编号为7369的领导:1 SELECT LEVEL,E.* FROM EMP E CONNECT BY PRIOR E.MGR = E.EMPNO START WITH E.EMPNO = 78762 ORDER BY LEVEL DESC"start with" -- this identifies all LEVEL=1 nodes in the tre转载 2013-06-22 07:48:57 · 2111 阅读 · 1 评论 -
MySQL中文乱码问题解决
1乱码问题根源MySQL 4.1及以后的版本开始支持多语言,这个所谓的多语言,就是在输入输出时MySQL会替你做编码转换。而这个转换规则就是由客户端编码和服务器端编码来决定的。 编码转换的规则就是:在输入数据时将编码由“客户端编码”转换为“服务器端编码”,输出时将数据由“服务器端编码”转换为“客户端编码”。 mysql> show variables like"%char%";原创 2013-04-28 22:42:48 · 7190 阅读 · 0 评论 -
MongoDB入门
《MongoDB权威指南》的读书笔记。Table of Contents1 开始使用MongoDB1.1 启动MongoDB1.2 核心概念1.2.1 文档1.2.2 集合1.2.3 ObjectId1.3 数据类型2 插入、更新、删除及查询文档2.1 插入2.2 更新2.2.1 文档整体替换2.2.2 $set修改器2.2.3 $inc原创 2013-03-23 20:41:02 · 3613 阅读 · 0 评论 -
MySQL锁定状态查看命令
1 show processlist;SHOW PROCESSLIST显示哪些线程正在运行。您也可以使用mysqladmin processlist语句得到此信息。如果您有SUPER权限,您可以看到所有线程。否则,您只能看到您自己的线程(也就是,与您正在使用的MySQL账户相关的线程)。如果有线程在update或者insert 某个表,此时进程的status为updating 或者 s原创 2013-02-07 20:33:26 · 175645 阅读 · 4 评论 -
MySQL命令行常用命令
1.启动本地MySQL服务 Windows平台,通过services.msc或者命令call SCstart MySQL55 Linux平台,执行命令servicemysql start 2.登录到服务器$ mysql –u root –p123 –h 127.0.0.1 –P 33063.访问数据库m原创 2013-02-02 16:21:49 · 2646 阅读 · 0 评论 -
Hibernate与数据库锁
一、为什么要使用锁?要想弄清楚锁机制存在的原因,首先要了解事务的概念。事务是对数据库一系列相关的操作,它必须具备ACID特征:A(原子性):要么全部成功,要么全部撤销。C(一致性):要保持数据库的一致性。I(隔离性):不同事务操作相同数据时,要有各自的数据空间。D(持久性):一旦事务成功结束,它对数据库所做的更新必须永久保持。我们常用的关系型数据原创 2012-08-11 22:40:19 · 11235 阅读 · 0 评论 -
MySQL性能优化的最佳20+条经验
转载自酷壳:http://coolshell.cn/articles/1846.html今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情。当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能。这里,我们不会讲过多的S转载 2012-01-05 21:45:12 · 2837 阅读 · 0 评论 -
看Sybase官方手册学索引工作原理
Sybase数据库简介Sybase公司成立于1984年,公司名称“Sybase”取自“system”和“database”相结合的含义。Sybase公司的第一个关系数据库产品是1987年5月推出的Sybase SQLServer1.0。Sybase首先提出Client/Server 数据库体系结构的思想,并率先在Sybase SQLServer 中实现。Sybase觉得单靠一家力量,难原创 2011-12-12 21:44:36 · 3555 阅读 · 0 评论 -
No-SQL与关系型数据库
引自:http://www.jdon.com/jivejdon/thread/38776 “sql本可只做存储方面事,但很多人看中其强健的select 功能,复杂的select 不只是从存储读取,还有筛选 搜索 排序等等,这些功能对巨大数据量就力不从心了,hadoop t级数据排序创有史最快,这些我们都要好好利用。谈得更深入些,如果按照OO设计,领域驱动设计,将业务计算都由转载 2011-12-10 20:36:58 · 2193 阅读 · 0 评论