
数据库
文章平均质量分 71
mxdxm8899
这个作者很懒,什么都没留下…
展开
-
利用JDBC获取新插入记录id的三种方法
在一对多的关联操作中,通常在一方插入记录后,需要获取到当前记录的id,以方便进行多方的插入操作。要解决这一问题,在JDBC中至少有三种不同的实现方法:1.在插入语句后添加一条查询,利用resultset来得到id号psmt = con.prepareStatement ("insert into orders (receiver,address,telephone,total...原创 2016-11-12 20:26:52 · 511 阅读 · 0 评论 -
(转)一致性哈希算法
转帖:http://mntms.iteye.com/blog/2063904 一致性哈希算法是分布式系统中常用的算法。比如,一个分布式的存储系统,要将数据存储到具体的节点上,如果采用普通的hash方法,将数据映射到具体的节点上,如key%N,key是数据的key,N是机器节点数,如果有一个机器加入或退出这个集群,则所有的数据映射都无效了,如果是持久化存储则要做数据迁移,如果是分布式缓存,...原创 2014-05-08 21:58:49 · 99 阅读 · 0 评论 -
Jedis使用
目录 1 JEDIS简介 1 2 JEDIS简单使用 1 3 JEDIS的池使用 2 4 JEDIS的分布式 4 1 Jedis简介 Jedis是Redis的java客户端。我们可以在java编程中使用它来编写java代码访问Redis服务。 关于Redis简绍:http://xmong.iteye.com/blog/1840242 要使用Jedis可以通过...原创 2014-05-08 21:33:46 · 120 阅读 · 0 评论 -
redis对关系数据库的优势
丰富的数据结构使得redis的设计非常的有趣。不像关系型数据库那样,DEV和DBA需要深度沟通,review每行sql语句,也不像memcached那样,不需要DBA的参与。redis的DBA需要熟悉数据结构,并能了解使用场景。下面举一些常见适合kv数据库的例子来谈谈键值的设计,并与关系型数据库做一个对比,发现关系型的不足之处。用户登录系统记录用户登录信息的一个系统, 我们简化业务...原创 2014-05-08 21:15:36 · 176 阅读 · 0 评论 -
(转)走近NoSQL数据库的四大家族
NoSQL顾名思义就是Not-Only SQL,它可以作为关系型数据库的良好补充。在TechTarget数据库之前的报道中,我们也对NoSQL数据库的应用场景做了详细的介绍。NoSQL 不像传统的关系型数据库,其种类繁多,且各有各的优势和缺点,对于DBA来说如何区分彼此的不同是一件比较头痛的工作。在本文中,我们就将进一步为您接受关于NoSQL数据库的分类以及各自的优缺点。 NoSQL数据库...原创 2014-05-08 21:08:35 · 111 阅读 · 0 评论 -
mysql 5.6.14 win7 32位免安装版配置 (转载)
1.下载mysql 5.6.14;下载地址:http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.14-win32.zip 2.解压到自定义目录,我的是D:\ProgramFiles\mysql5614win32\bin 3.复制根目录下的my-default.ini,改名为my.ini,my.ini用下面内...原创 2014-05-03 13:00:14 · 195 阅读 · 0 评论 -
Mysql导入sql文件
以下的文章主要介绍的是MySQL导入sql 文件,即MySQL数据库导入导出sql 文件的实际操作步骤,我们主要是将其分成5大步骤对其进行讲述,如果你对其有兴趣的话你就可以点击以下的文章进行观看了。步骤如下:一.MySQL的命令行模式的设置:桌面->我的电脑->属性->环境变量->新建->PATH=“;path\MySQL\bin;”其中path为My...原创 2011-11-07 17:59:31 · 182 阅读 · 0 评论 -
数据库设计
1. 原始单据与实体之间的关系 可以是一对一、一对多、多对多的关系。在一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个实体。 在特殊情况下,它们可能是一对多或多对一的关系,即一张原始单证对应多个实体,或多张原始单证对应一个实体。 这里的实体可以理解为基本表。明确这种对应关系后,对我们设计录入界面大有好处。 〖例1〗:一份员工履历资料,在人力资源信息系统中,就对应三个基本表:员...原创 2011-04-10 00:31:22 · 97 阅读 · 0 评论 -
mysql的ISAM表的检查和修复
我们知道,MySQL数据库的每一个数据库对应一个子目录,每个子目录中包含了对应于这个数据库中的数据表的文件。每一个数据表对应三个文件,它们和表名相同,但是具有不同的扩展名。tblName.frm文件是表的定义,它保存了表中包含的数据列的内容和类型。tblName.MYD文件包含了表中的数据。tblName.MYI文件包含了表的索引(例如,它可能包含lookup表以帮助提高对表的主键列的...原创 2011-10-27 11:43:08 · 133 阅读 · 0 评论 -
mysql的锁机制
在一个update和insert操作频繁的表中,少量数据测试的时候运行良好,在实际运营中,因数据量比较大(21万条记录),会出现死锁现象,用show processlist查看,可以看到一个update语句状态是Locked,一个delete语句状态是Sending data。查看了一下参考手册,把锁定相关的资料整理下来,以便自己记录和追踪该问题的解决情况:MySQL 5.1支持对MyISAM...原创 2011-10-10 18:03:58 · 77 阅读 · 0 评论 -
mysql介绍
以下的文章主要是MySQL数据库文件介绍与其具体的存放位置的描述,在实际应用中我们会经常接触到MySQL数据库文件,那么它的主要功能是什么?以及如何对其进行正确的存放?以下的文章有对这些问题的具体讲述。 一、MySQL数据库文件介绍 MySQL的每个数据库都对应存放在一个与数据库同名的文件夹中,MySQL数据库文件包括MySQL所建数据库文件和MySQL所用存储引擎创建的数据库...原创 2011-10-08 11:26:07 · 110 阅读 · 0 评论 -
mysql的备份和恢复
本文讨论 MySQL 的备份和恢复机制,以及如何维护数据表,包括最主要的两种表类型:MyISAM 和 Innodb,文中设计的 MySQL 版本为 5.0.22。目前 MySQL 支持的免费备份工具有:mysqldump、mysqlhotcopy,还可以用 SQL 语法进行备份:BACKUP TABLE 或者 SELECT INTO OUTFILE,又或者备份二进制日志(binlog)...原创 2011-09-20 13:42:28 · 98 阅读 · 0 评论 -
(转帖)数据库的哈希设计
Table of Contents1 用哈希的key代替字符串上的索引,提高查询效率。 1.1 什么是hash 1.2 如何在数据库设计中使用hash 1.3 使用计算列 1.4 如何在多表关联中使用哈希 2 库表散列 2.1 ORAHASH 函数 2.2 哈希拆分例1 2.3 哈希拆分例2 2.4 除留余数法 2.5 拆库 ...原创 2010-10-20 13:46:56 · 108 阅读 · 0 评论 -
数据库中的共享锁和排他锁
共享锁:如果事务T对数据A加上共享锁后,则其他事务只能对A再加共享锁,不能加排他锁。获准共享锁的事务只能读数据,不能修改数据。排他锁:如果事务T对数据A加上排他锁后,则其他事务不能再对A加任任何类型的封锁。获准排他锁的事务既能读数据,又能修改数据。 1、执行SELECT语句时可以获得共享锁。Oracle通过锁定指定表来确保没有人能够在你使用表数据时修改该表的结构,但是,被查询的记录并没...原创 2010-10-18 13:23:05 · 408 阅读 · 0 评论 -
LSM树--高效的存储
转http://bofang.iteye.com/blog/1676698 论文 The Log-Structure Merge-Tree(LSM-tree)(http://www.google.com.my/url?sa=t&rct=j&q=&esrc=s&source=web&cd=4&cad=rja&ved=0CDoQFjAD...原创 2014-05-10 09:11:36 · 198 阅读 · 0 评论 -
Google的神器
1 Chubby http://blog.youkuaiyun.com/historyasamirror/article/details/38701682 BigTable http://thecloud.iteye.com/blog/1918999 http://blog.youkuaiyun.com/opennaive/article/details/75325893 GFS...原创 2014-05-28 21:31:39 · 118 阅读 · 0 评论 -
mysql的索引
索引是快速搜索的关键。MySQL索引的建立对于MySQL的高效运行是很重要的。下面介绍几种常见的MySQL索引类型。 在数据库表中,对字段建立索引可以大大提高查询速度。假如我们创建了一个 mytable表: CREATE TABLE mytable( ID INT NOT NULL, username VARCHAR(16) NOT NULL ); 我...原创 2014-04-28 07:56:17 · 150 阅读 · 0 评论 -
Selector 和 Paging
import java.util.List;import org.hibernate.Criteria;import org.hibernate.criterion.Criterion;import org.hibernate.criterion.Order;public class Selector<T> { protected final int...原创 2015-10-10 11:19:17 · 366 阅读 · 0 评论 -
Hibernate Dao辅助类,提供Dao的基本操作
import java.io.Serializable;import java.util.Collection;import java.util.Collections;import java.util.Iterator;import java.util.List;import java.util.Map;import java.util.Set;import ...原创 2015-10-10 10:50:29 · 328 阅读 · 0 评论 -
批处理batch,执行多个SQL语句
批处理batch,执行多个SQL语句。 [sql] view plaincopy try{ stmt=conn.createStatement(); conn.setAutoCommit(false);//取消自动提交 stmt.addBatch("insert into person (name,password,ag...原创 2015-07-15 19:21:59 · 447 阅读 · 0 评论 -
Mysql字符集设置(转)
最近,在项目组使用的mysql数据库中,插入数据出现乱码,关于这个问题做了下总结,我们从最基本的地方说起,到错误产生的深层次原因和解决办法。基本概念• 字符(Character)是指人类语言中最小的表义符号。例如’A'、’B'等;• 给定一系列字符,对每个字符赋予一个数值,用数值来代表对应的字符,这一数值就是字符的编码(Encoding)。例如,我们给字符’A'赋予数值0,给字符’B'...原创 2015-05-08 20:00:09 · 242 阅读 · 0 评论 -
MySQL的btree索引和hash索引的区别
Hash 索引结构的特殊性,其检索效率非常高,索引的检索可以一次定位,不像B-Tree 索引需要从根节点到枝节点,最后才能访问到页节点这样多次的IO访问,所以 Hash 索引的查询效率要远高于 B-Tree 索引。 可能很多人又有疑问了,既然 Hash 索引的效率要比 B-Tree 高很多,为什么大家不都用 Hash 索引而还要使用 B-Tree 索引呢?任何事物都是有两面性的,Has...原创 2015-03-27 17:24:31 · 880 阅读 · 0 评论 -
关于MYSQL Innodb 锁行还是锁表
关于mysql的锁行还是锁表,这个问题,今天算是有了一点头绪,mysql 中 innodb是锁行的,但是项目中居然出现了死锁,锁表的情况。为什么呢?先看一下这篇文章。 做项目时由于业务逻辑的需要,必须对数据表的一行或多行加入行锁,举个最简单的例子,图书借阅系统。假设 id=1 的这本书库存为 1 ,但是有 2 个人同时来借这本书,此处的逻辑为Select ...原创 2015-03-18 10:08:38 · 224 阅读 · 0 评论 -
XA分布式事务处理
在谈到 XA 规范之前,必须首先了解分布式事务处理( Distributed Transaction Processing , DTP )的概念。 Transaction ,即事务,又称之为交易,指一个程序或程序段,在一个或多个资源如 数据库 或文件上为完成某些功能的执行过程的集合。 分布式事务处理是指一个事务可能涉及多个数据库操作,分布式事务处理的关键是必须有一种方法...原创 2014-08-22 18:06:10 · 236 阅读 · 0 评论 -
sql中in 与exists
NOT INSELECT DISTINCT MD001 FROM BOMMD WHERE MD001 NOT IN (SELECT MC001 FROM BOMMC)NOT EXISTS,exists的用法跟in不一样,一般都需要和子表进行关联,而且关联时,需要用索引,这样就可以加快速度select DISTINCT MD001 from BOMMD WHERE NOT EXISTS...原创 2014-07-15 12:46:57 · 90 阅读 · 0 评论 -
hibernate的query.scroll()和query.setFirstResult(),query.setMaxResults();
一、hibernate的query.scroll()和query.setFirstResult(),query.setMaxResults();这两种方法都可以取到一定范围内的数据,用来数据分页显示。那么两者区别,以及两者的效率如何? 答:1.scroll是用JDBC2.0的可滚动结果集实现;query.setMaxResults();query.setFirstResult()是数据库SQL语...原创 2014-07-01 08:19:40 · 968 阅读 · 0 评论 -
长连接和短连接的区别
短连接 连接->传输数据->关闭连接 HTTP是无状态的,浏览器和服务器每进行一次HTTP操作,就建立一次连接,但任务结束就中断连接。 也可以这样说:短连接是指SOCKET连接后发送后接收完数据后马上断开连接。 长连接 连接->传输数据->保持连接 -> 传输数据-> 。。。 ->关闭连接。 长连接指建立SOCKET连接后不管是否使用都保持连接,但安全...原创 2014-06-25 16:46:35 · 359 阅读 · 0 评论 -
数据库表的拆分
下面来分析一下: 一、时间结构 如果业务系统对时效性较高,比如新闻发布系统的文章表,可以把数据库设计成时间结构,按时间分有几种结构: 1) 平板式 表类似: article_200901 article_200902 article_200903 用年来分还是用月可自定,但用日期的话表就太多了,也没这必要。一般建议是按月分就可以。 这种分法,...原创 2014-06-24 14:37:29 · 169 阅读 · 0 评论 -
(转)聚集索引
在上一篇文章中,我们已经介绍了非聚集索引相关的内容。在本篇中,我们会介绍与聚集索引相关的话题。首先,我们综合之前的文章,再来思考一下数据库接收到请求之后(Select,Update,Delete,Insert),获取数据的几种方式:1.仅仅只访问非聚集索引而不访问底层的数据表来获取数据。这种情况只有当索引中包含了所有要请求的数据的时候才发生。2.通过在索引中查找请求传入的关键字,找到对应的索引...原创 2014-06-15 14:47:59 · 88 阅读 · 0 评论 -
mysql中insert into和replace into及insert ignore用法区别
mysql中insert into和replace into以及insert ignore用法区别: mysql中常用的三种插入数据的语句: insert into表示插入数据,数据库会检查主键,如果出现重复会报错; replace into表示插入替换数据,需求表中有PrimaryKey,或者unique索引,如果数据库已经存在数据,则用新数据替换,如果没有数据效果则和insert into一样...原创 2011-08-19 16:17:15 · 330 阅读 · 0 评论 -
SELECT INTO 和 INSERT INTO SELECT 两种表复制语句
Insert是T-sql中常用语句,Insert INTO table(field1,field2,...) values(value1,value2,...)这种形式的在应用程序开发中必不可少。但我们在开发、测试过程中,经常会遇到需要表复制的情况,如将一个table1的数据的部分字段复制到table2中,或者将整个table1复制到table2中,这时候我们就要使用SELECT INTO 和 ...原创 2011-08-19 15:29:09 · 99 阅读 · 0 评论 -
数据库中的索引
1.概念 索引是在数据库表或者视图上创建的对象,目的是为了加快对表或视图的查询的速度(简单理解)。 索引是一个单独的、物理的数据库结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单(深刻理解)。 按照存储方式分为:聚集与非聚集索引(需要重视和区别的概念,后面详解) 按照维护与管理索引角度分为...原创 2010-10-13 15:14:12 · 116 阅读 · 0 评论 -
mysql创建用户与远程登入
一、新建用户1、新建用户//登录MYSQL @>mysql -u root -h localhost -ppassword //修改用户授权表创建用户 mysql> insert into mysql.user (Host,User,Password,ssl_cipher,x509_issuer,x509_subject) values("localh...原创 2010-12-14 08:57:07 · 142 阅读 · 0 评论 -
解决中文在odbc和mysql下乱码问题
1、出现乱码后,要想到字符集设置2、在odbc配置设置没有作用3、VC下Mysql配置语句:int mysql_options(MYSQL *mysql, enum mysql_option option, const char *arg)注意事项:(1)能用于设置额外连接选项并且影响一个连接的行为。(2)这个函数可以被多次调用来设置多个选项。(3mysql_optio...2010-04-06 17:36:28 · 614 阅读 · 0 评论 -
完整的VC下SQLite的使用
SQLite在VC下的使用(转)http://www.sqlite.com.cn/MySqlite/4/523.Html一、SQLite简介 SQLite 是用C语言编写的开源数据库,主要用于嵌入式,你也可以把它集成在自己的桌面程序中,也有人将其替代Access,用作后台数据库。SQLite 支持多数SQL92标准,例如:索引、限制、触发和查看支持。支持 NULL、INTEGE...2010-04-06 17:32:20 · 451 阅读 · 0 评论 -
VC下使用ODBC
在用VC读出mysql数据的时候,必不可少要用到ODBC,到官网下载Mysql对应的ODBC,然后进行如下配置,则可以使用Mysql里面的数据了配置步骤如下: 开始 - 控制面板 - 管理工具 - 数据源 (ODBC),双击数据源(ODBC)之后会出来如下的界面 点击右上角的"添加"按钮之后会出现如下的界面 可以看到,我们刚才安装的驱动程序已经出现在列表中了,选中它...2010-04-06 17:24:55 · 326 阅读 · 0 评论 -
VC下使用MySql的方法
[size=medium][/size] 在做对比mysql和sqlite数据对比工作时候,我用C++编程来实现时候遇到了些问题,首先就是怎么在C++里把mysql的数据读出来,现在解决如下: 1.需要用到的头文件? 由于C++没有提供专门的数据库操作接口函数,相应的接口函数都由第三方来提供。Mysql本身提供了这些函数接口,因此我们要把他们导入到项目中。这里要注意...2010-04-06 17:13:45 · 173 阅读 · 0 评论 -
如何创建oracle函数索引
如何创建oracle函数索引Oracle8i的很重要的一个新特性就是增加了function-based index这种索引类型(后面简称为FBI)。有了这个特性后,Oracle DBA就可以在索引中使用函数或者表达式了。这些函数可以使Oracle自己的函数,也可以使用户自己的PL/SQL函数等。 DBA在SQL语句调优的过程中遇到的一个很常见的问题就是,如何优化那些在WHE...原创 2009-11-23 09:37:40 · 122 阅读 · 0 评论 -
在Oracle中创建索引时要做到三个适当
在Oracle数据库中,创建索引虽然比较简单。但是要合理的创建索引则比较困难了。笔者认为,在创建索引时要做到三个适当,即在适当的表上、适当的列上创建适当数量的索引。虽然这可以通过一句话来概括优化的索引的基本准则,但是要做到这一点的话,需要数据库管理员做出很大的努力。具体的来说,要做到这个三个适当有如下几个要求。 一、 根据表的大小来创建索引。 虽然给表创建索引,可以提高查...原创 2009-11-23 09:13:19 · 122 阅读 · 0 评论 -
oracle中的索引大纲
1,索引与表关联的可选结构加快SQL语句的执行减少磁盘I/OCREATE INDEX 语句用于创建索引在逻辑上和物理上独立于表中的数据ORCALE自动维护索引2,唯一索引确保在定义索引的列中没有重复的值ORACLE自动为主键列和唯一键列创建唯一索引CREATE UNIQUE INDEX 语句用于创建唯一索引//创建唯一索引的语法 CREATE U...原创 2009-11-23 09:10:58 · 135 阅读 · 0 评论