欢迎访问小程序员!

我们根据每一个数据库引擎的使用情况以及受欢迎的程度,对240个数据库引擎作了综合排名,但是以下排名也仅供参考,同时也希望本文可以拓展你的视野,这世界上的数据库并不是只有Oracle、MSSQ、MySQL。 2015年1月,240个数据库引擎综合排名参考 本月排名 上月排名 数据库名称 数据库类型 综合得分 分数走势 1. 1. Oracle 关系型数据库 1439.16 -20.63 2. 2. MySQL 关系型数据库 1277.51 +8.93 3. 3. Microsoft SQL Server 关系 ....

列类型选择: 1.字段类型优先级  整形>date,time>char,varchar > blob 原因:整形,time运算快,节省时间。 char/varchar:要考虑字符集的转换与排序时的校对集,速度慢。 blob无法使用内存临时表.(一单牵扯到某个字段用blob那肯定要去磁盘上去建临时表,去磁盘上去排序 2.够用就行。不要慷慨(smallint,varchar) 原因:大的字段浪费内存,影响速度。 以varchar(10),varchar(300)存储的内容相同,但在表联查时。v ....

1、首先确定你想要解除的锁,执行下列代码:   SELECT O.OBJECT_NAME , L.*                         FROM  ALL_OBJECTS O , V$LOCKED_OBJECT L                               WHERE  O.OBJECT_ID = L.OBJECT_ID  2、根据锁定的对象、用户等来判断你要杀掉的进程,记下这条数据的SESSION_ID,执行下列代码:       SELECT TO_CHAR(SID) | ....

一、环境: CentOS6.3(64位) + MySQL Cluster 7.3.7,规划5台虚拟机器,1G内存,分工如下: MGM:10.10.10.41(管理节点) NDBD1:10.10.10.42(数据节点1) NDBD2:10.10.10.43(数据节点2) SQL1:10.10.10.44(sql节点1) SQL2:10.10.10.45(sql节点2) 二、准备: 安装包主要有三种类型:1:rpm安装包;2:预编译二进制安装包; 3:源码包。 这里选择第二种安装包“预编译二进制安装包” ....

个人观点,OrientDB相对于Mongodb的优点: 1.支持本地操作数据库(即不需要启动服务器,类似Access),适用于轻量级应用  2.可以通过JVM控制内存,而mongodb只能通过系统层面控制用户的资源来实现  3.根据上述2点,OrientDB很好的集成到系统中、与应用部署到同一台服务器,非常适合用于记录日志 共同点: 1.文档数据库 2.支持分布式部署 1、安装并启动。下载window版的,解压,进入解压目录的bin目录,双击“server.bat”,按照提示输入初始密码,输入“123456 ....

MySQL是目前使用最多的开源数据库,但是MySQL数据库的默认设置性能非常的差,必须进行不断的优化,而优化是一个复杂的任务,本文描述淘宝数据库团队针对MySQL数据库Metadata Lock子系统的优化,hash_scan 算法的实现解析的性能优化,TokuDB·版本优化,以及MariaDB·的性能优化。本文来自淘宝团队内部经验分享。 往期文章:淘宝内部分享:怎么跳出MySQL的10个大坑 MySQL· 5.7优化·Metadata Lock子系统的优化 背景 引入MDL锁的目的,最初是为了解决著名的b ....

MySQL是一个功能强大的开源数据库。随着越来越多的数据库驱动的应用程序,人们一直在推动MySQL发展到它的极限。这里是101条调节和优化MySQL安装的技巧。一些技巧是针对特定的安装环境的,但这些思路是通用的。我已经把他们分成几类,来帮助你掌握更多MySQL的调节和优化技巧。 MySQL 服务器硬件和操作系统调节: 1. 拥有足够的物理内存来把整个InnoDB文件加载到内存中——在内存中访问文件时的速度要比在硬盘中访问时快的多。 2. 不惜一切代价避免使用Swap交换分区 – 交换时是从硬盘读取的,它的速 ....

在数据库服务器上,可以架构多个Mysql服务器,进行单机多实例的读写分离; 可以通过mysqld_multi来进行多实例的管理,mysqld_multi是用perl写的脚本,原理是通过mysql_admin来进行多个数据库的操作;多实例的配置文件也有点不同,可以看作是多个mysql配置的集合;mysqld_multi命令使用如下: mysqld_multi report/start/stop 可以使用 mysqld_multi --example来查看配置文件的例子;也可以直接复制下来当作自己的配置;注 ....

很多程序员认为SQL是一头难以驯服的野兽。它是为数不多的声明性语言之一,也因为这样,其展示了完全不同于其他的表现形式、命令式语言、 面向对象语言甚至函数式编程语言(虽然有些人觉得SQL 还是有些类似功能)。 我每天都写SQL,我的开源软件JOOQ中也包含SQL。因此我觉得有必要为还在为此苦苦挣扎的你呈现SQL的优美!下面的教程面向于: 已经使用过但没有完全理解SQL的读者 已经差不多了解SQL但从未真正考虑过它的语法的读者 想要指导他人学习SQL的读者 本教程将重点介绍SELECT 语句。其他 DML 语句 ....

需求:统计WAIT_ORDER表中的工单总数、未处理工单总数、已完成工单总数、未完成工单总数。 表结构 : 为了举例子方便,WAIT_ORDER表只有两个字段,分别是ID、STATUS,其中STATUS为工单的状态。1表示未处理,2表示已完成,3表示未完成总数。   SQL:    1.SELECT 2. COUNT(B.ID) AS 工单总数, 3. COUNT(CASE 4. WHEN B.status IN ('1') THEN ....

什么是存储过程       如果你接触过其他的编程语言,那么就好理解了,存储过程就像是方法一样。 竟然他是方法那么他就有类似的方法名,方法要传递的变量和返回结果,所以存储过程有存储过程名有存储过程参数也有返回值。  存储过程的优点:           存储过程的能力大大增强了SQL语言的功能和灵活性。 可保证数据的安全性和完整性。 通过存储过程可以使没有权限的用户在控制之下间接地存取数据库,从而保证数据的安全。 通过存储过程可以使相关的动作在一起发生,从而可以维护数据库的完整性。 在运行存储过程前,数据库 ....

昨天工程师反映客户一个sql的统计等的n慢,我plsql跑了一下,需要1110秒,近20分钟,这个现状肯定无法忍受。后进行分析调整之后查询速度在6-12秒之内,调整步骤如下: 现状:linux, oracle 10g ,4G内存,sga1.5G, 调整shared_pool300M,这个shared_pool的调整有些怀疑。先搁置。 表BCM_MONTHGASFEE 数据=26494361 原sql -———————————————————————— select substr(f.dataenddate, ....

以下JSP文件用common-fileupload组件实现文件上传,并将文件以二进制文件的形式存入数据库 <% if("POST".equalsIgnoreCase(request.getMethod)){//如果是POST表单 DiskFileUpload diskFileUpload = newDiskFileUpload(); diskFileUpload.setHeaderEncoding("UTF-8");//设置编码 ....

编者按:淘宝自从2010开始规模使用MySQL,替换了之前商品、交易、用户等原基于IOE方案的核心数据库,目前已部署数千台规模。同时和Oracle, Percona, Mariadb等上游厂商有良好合作,共向上游提交20多个Patch。目前淘宝核心系统研发部数据库组,根据淘宝的业务需求,改进数据库和提升性能,提供高性能、可扩展的、稳定可靠的数据库(存储)解决方案。 目前有以下几个方向:单机,提升单机数据库的性能,增加我们所需特性;集群,提供性能扩展,可靠性,可能涉及分布式事务处理;IO存储体系,跟踪IO设备 ....

写在前面的话:之前做的一个项目,数据库及系统整体构架设计完成之后,和弟兄们经过一段时间的编码,系统如期上线,刚开始运行一切良好,后来随着数据量的急剧膨胀,慢慢出现了很多莫名其妙的问题,经过调试,修改了数据库中几个存储过程的一些问题。有意思的是,有一个存储过程里,为了实现一个小的功能,写了好多好多的代码,又是游标又是循环的,其实用系统的一个默认函数就能解决掉。这里想说的是,学习工作之余,在没有要解决问题的压力之下,还是建议系统的看看书,对于一些认为没啥用的知识点,也建议去仔细的看看,练练手,说不定什么时候就用 ....

在这个充斥着大数据与商业智能的新代时,唯一不变的技术就是变化,尤其是在数据库方面。出于数据统计、继续增加的对服务的需求,以及规定制度等方面的原因,几乎每天都有业务方面的变更需求,这些都会对数据库产生变更需求。当数据库变更发生时,能否从自动化中获得更大的敏捷性,以较少的资源实现较多的功能,正是那些具有高度竞争力的世界级企业在芸芸众生中脱颖而出的关键因素。 如果你的竞争对手能够更快地、并且交付质量更好的特性,那么 你必然会失去市场份额。敏捷开发方法的出现正是为了在应对不断变化的需求的情况下快速地发展,在有限的资 ....

引言 传统的数据库管理系统把所有数据都放在磁盘上进行管理,所以称作磁盘数据库(DRDB: Disk-Resident Database)。磁盘数据库需要频繁地访问磁盘来进行数据的操作,磁盘的读写速度远远小于CPU处理数据的速度,所以磁盘数据库的瓶颈出现在磁盘读写上。 基于此,内存数据库的概念被提出来了。内存数据库(MMDB:Main Memory Database,也叫主存数据库)[1],就是将数据全部或者大部分放在内存中进行操作的数据库管理系统,对查询处理、并发控制与恢复的算法和数据结构进行重新设计,以更 ....

在上周, Tomas 在 MySQL Percona Live Conference in London ,宣布了MySQL 5.7的版本--在只读的(Read-Only)测试环境,InnoDB 的 Memcached plugin的版本中,可以处理 每秒 1,000,000 次的查询。这个文章就是证实这个说法的。 实际上,我至今也没有准确说法,到底可拓展性有多么的准确和有多少的性能限制在这里面..我们可以在最新的MySQL 5.7 中可以得到最大的性能提升,并且,并且可以让我们轻松的在“普通的”(norm ....

通常来说,我们都知道: SQL数据库只限在单机上运行,但它提供了更强的事务管理、schema与查询功能。 NoSQL数据库为了伸缩性与容错性的目的,放弃了事务管理与schema。 而FoundationDB的SQL层结合了这两个方面:它首先是一个开源的SQL数据库,能够线性地伸缩与提升容错性,并且还具有真正的ACID事务功能。曾经互不相容的两种特性,现在已融合在一个统一的系统中。 对于处于以下几种情况的公司来说,这一特性是非常重要的: 新的项目要为大规模的伸缩性进行计划。 现有的项目遇到了数据库伸缩性的瓶颈 ....

什么是死锁? 所谓死锁: 是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。   由于资源占用是互斥的,当某个进程提出申请资源后,使得有关进程在无外力协助下,永远分配不到必需的资源而无法继续运行,这就产生了一种特殊现象:死锁。   在SQL Server中为了阻止死锁大量充斥在系统中,我们有一个死锁监控的后端线程来帮助解决死锁。   死锁监控线程   如果 ....