数据库
文章平均质量分 82
feihong247
这个作者很懒,什么都没留下…
展开
-
Oracle中decode函数与case when的使用
DECODE()函数,它将输入数值与函数中的参数列表相比较,根据输入值返回一个对应值。函数的参数列表是由若干数值及其对应结果值组成的若干序偶形式。当然,如果未能与任何一个实参序偶匹配成功,则函数也有默认的返回值。区别于SQL的其它函数,DECODE函数还能识别和操作空值。语法:DECODE(control_value,value1,result1[,value2,result2…]原创 2013-08-12 20:02:40 · 808 阅读 · 0 评论 -
SQl语句的效率问题
SQL语句效率 1. SQL优化的原则是:将一次操作需要读取的BLOCK数减到最低,即在最短的时间达到最大的数据吞吐量。 调整不良SQL通常可以从以下几点切入: 1) 检查不良的SQL,考虑其写法是否还有可优化内容 2) 检查子查询 考虑SQL子查询是否可以用简单连接的方式进行重新书写转载 2012-08-20 10:31:27 · 2134 阅读 · 0 评论 -
mysql分表,分区的区别和联系
一,什么是mysql分表,分区什么是分表,从表面意思上看呢,就是把一张表分成N多个小表,具体请看mysql分表的3种方法什么是分区,分区呢就是把一张表的数据分成N多个区块,这些区块可以在同一个磁盘上,也可以在不同的磁盘上一,先说一下为什么要分表当一张的数据达到几百万时,你查询一次所花的时间会变多,如果有联合查询的话,我想有可能会死在那儿了。分表的目的就在于此转载 2012-08-20 11:08:05 · 6251 阅读 · 2 评论 -
数据库和海量数据的数据处理问题
一、数据量过大,数据中什么情况都可能存在。如果说有10条数据,那么大不了每条去逐一检查,人为处理,如果有上百条数据,也可以考虑,如果数据上到千万级别,甚至过亿,那不是手工能解决的了,必须通过工具或者程序进行处理,尤其海量的数据中,什么情况都可能存在,例如,数据中某处格式出了问题,尤其在程序处理时,前面还能正常处理,突然到了某个地方问题出现了,程序终止了。 二、软硬件要求高,系统资源转载 2012-08-12 18:07:31 · 855 阅读 · 0 评论 -
Mysql oracle与java类型对照 (仅供参考)
MysqlOracleJavaBIGINTNUMBER(19,0)java.lang.LongBITRAWbyte[]BLOBBLOB RAWbyte[]CHARCHARjava.lang.StringDATEDATEj转载 2012-08-12 12:20:25 · 676 阅读 · 0 评论 -
单向一对一唯一外键关联实例
IdCard.java类[java] view plaincopypublic class IdCard { private int id; private String cardNo; public int getId() { return id; } publ转载 2012-07-27 09:30:40 · 502 阅读 · 0 评论 -
Hibernate映射解析——七种映射关系
首先我们了解一个名词ORM,全称是(Object Relational Mapping),即对象关系映射。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现,这样开发人员就可以把对数据库的操作转化为对这些对象的操作。Hibernate正是实现了这种思想,达到了方便开发人员以面向对象的思想来实现对数据库的操作。 Hibernate在实现ORM功转载 2012-07-27 09:27:56 · 421 阅读 · 0 评论 -
mysql的tmp_table_size和max_heap_table_size
先说下tmp_table_size吧:它规定了内部内存临时表的最大值,每个线程都要分配。(实际起限制作用的是tmp_table_size和max_heap_table_size的最小值。)如果内存临时表超出了限制,MySQL就会自动地把它转化为基于磁盘的MyISAM表,存储在指定的tmpdir目录下,默认:mysql> show variables like "tmpdir";转载 2012-07-26 22:14:16 · 7134 阅读 · 0 评论 -
MySQL服务启动系统发生 1067 错误
解决方法c:\mysql\bin>net start mysql MySQL正在启动 MySQL无法启动 系统出错 发生系统错误 1067 进程意外终止卸载服务c:\mysql\mysqld-nt.exe -remove修改c:\windows(xp系统)下的my.ini如果没将其创建[mysq转载 2012-07-26 21:50:05 · 6374 阅读 · 0 评论 -
清理Mysql日志
PURGE {MASTER | BINARY} LOGS TO 'log_name' PURGE {MASTER | BINARY} LOGS BEFORE 'date' 用于删除列于在指定的日志或日期之前的日志索引中的所有二进制日志。这些日志也会从记录在日志索引文件中的清单中被删除,这样被给定的日志成为第一个。 例如: PURGE MASTER LOGS TO转载 2012-08-22 23:19:57 · 968 阅读 · 0 评论 -
oracle与mysql 的使用比较
总结:oracle与mysql 的使用比较总结: 用mysql与ORACLE有一段时间了,一直都没有做总结,今天有时间做些区别吧:1.数据库的使用在使用mysql一段时间以后,再次使用ORACLE时,首先想到的就是数据库名,在hibernate的 url 地址的设置中首先会牵涉到数据库名的使用,在ORACLE中,每个用户下只会有一个数据库名,这个也是在OR原创 2012-09-28 18:49:20 · 1531 阅读 · 0 评论 -
MySQL Join 詳解
MySQL Join 詳解還是先 Create table 吧create table emp( id int not null primary key, name varchar(10));create table emp_dept( dept_id varchar(4) not null, emp_id转载 2012-08-23 12:51:40 · 782 阅读 · 0 评论 -
rank,dense_rank,row_number使用和区别
rank,dense_rank,row_number区别一:语法(用法): rank() over([partition by col1] order by col2) dense_rank() over([partition by col1] order by col2) row_number() over([partition by col1]转载 2013-07-19 12:29:18 · 631 阅读 · 0 评论 -
select … for update 的解释概念
statement: 一个SQL语句。session: 一个由ORACLE用户产生的连接,一个用户可以产生多个SESSION ,但相互之间是独立的。transaction:所有的改变都可以划分到transaction里,一个 transaction包含一个或多个SQL。当一个SESSION建立的时候就是一个TRANSACTION开始的时刻,此后transaction的 开始转载 2013-07-10 11:08:57 · 1341 阅读 · 0 评论 -
oracle 数据库常见错误
1. 安装启动 PL/SQL 错误eg:ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务 的解决方法 解决方法:修改文件D:\app\Feihong247\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora如下:源文件:# listener.ora Network Configurat原创 2013-06-15 22:37:19 · 749 阅读 · 0 评论 -
Linux Oracle服务启动&停止脚本与开机自启动
在CentOS 6.3下安装完Oracle 10g R2,重开机之后,你会发现Oracle没有自行启动,这是正常的,因为在Linux下安装Oracle的确不会自行启动,必须要自行设定相关参数,首先先介绍一般而言如何启动oracle。一、在Linux下启动Oracle登录到CentOS,切换到oracle用户权限# su – oracle接着输入:$ sqlplus "/as s转载 2013-04-16 17:45:50 · 772 阅读 · 0 评论 -
mysql 中的 my.ini 配置文件
第一步,我们找到mysql安装文件下面的my.ini文件,打开可以看到第一句: # MySQL Server Instance Configuration File Mysql服务实例配置文件 好,咱们撇开那些不是那么重要的字幕,直接进入重点,看看它可以配置些什么,和到底配置了些什么,那么带着这样的心态,我们往下看。 CLIENT SECTION 客户端章节: [c转载 2013-03-07 15:56:06 · 28467 阅读 · 0 评论 -
解决修改重命名sql Server数据库名称
错误: 消息 5030,级别 16,状态 2,第 1 行无法用排他锁锁定该数据库,以执行该操作。解决方法:(原理一样)1.将数据库设置为单用户模式 (单用户模式指定一次只有一个用户可访问数据库,该模式通常用于维护操作。 )1、在对象资源管理器中,连接到 SQL Server 数据库引擎实例,然后展开该实例。 2、右键单击要更改的数据库,再单击“属性”。原创 2013-02-17 13:58:39 · 3981 阅读 · 0 评论 -
mysql的分区技术
一、概述当 MySQL的总记录数超过了100万后,会出现性能的大幅度下降吗?答案是肯定的,但是,性能下降>的比率不一而同,要看系统的架构、应用程序、还有>包括索引、服务器硬件等多种因素而定。当有网友问我这个问题的时候,我最常见的回答>就是:分表,可以根据id区间或者时间先后顺序等多种规则来分表。分表很容易,然而由此所带来的应用程序甚至是架构方面的改动工作却不>容小觑,还包括将来的扩展性等。原创 2012-10-22 23:46:59 · 18173 阅读 · 3 评论 -
oracle 使用常用命令:
oracle 使用常用命令: 1.查询数据库中有多少张表 select table_name from user_tables ; 2. 查询数据库有哪些用户以 dba 身份登录 oracle(如 sys 或 system 用户):select username from dba_users; 3.有用的几个命令SET PAGESIZ原创 2012-09-28 18:48:16 · 835 阅读 · 0 评论 -
mysql 配置文件-----【MySQL][5.1][.ini][5] MySQL my-innodb-heavy-4G.ini
#开始配置信息#描述:4GB 内存、只有 InnoDB、ACID、几个连接数、繁重的查询#类型:系统#结束配置信息# 这是一个针对 4G 内存系统(主要运行只有 InnoDB 表的 MySQL 并使用几个连接数执行复杂的查询)的 MySQL 配置文件例子。## 你可以复制该文件到 /etc/my.cnf 以设置全局的选项,复制到 mysql-data-dir/my.cn转载 2012-07-26 21:01:41 · 1063 阅读 · 0 评论 -
mysql配置文件 --- my-small.ini
# 针对小系统的 MySQL 配置文件例子。## 这是针对一个小内存(〈= 64MB)的系统,MySQL 只会被时不时地用一下,很重要的是 mysqld 守护进程不会使用很多资源。## 你可以复制该文件到 /etc/my.cnf 以设置全局的选项,复制到 mysql-data-dir/my.cnf 以设置服务器特有的选项(在本安装中该目录是 C:mysqldata ),复制到 ~/转载 2012-07-26 20:59:51 · 3003 阅读 · 0 评论 -
Hibernate主键生成策略归纳
Hibernate为优秀的持久层框架之一。我们都知道在传统的JDBC+JavaBean程序开发中,实体对象一般由程序员自己去封装,然后返回。而在Hibernate中,则采用对象关系映射ORM(前面的博客有过介绍),不但实现以面向对象的思想去操作我们常用的关系型数据库,而且还大大简化了对数据库的操作。 在数据库的设计和操作中,我们离不开给表建立主键。主键又可以分为自然主键和代理主键,转载 2012-07-27 09:28:44 · 497 阅读 · 0 评论 -
LINUX下MYSQL的启动及相关配置
一.一般安装完LINUX后,MYSQL没有经过配置就用如下命令启动MYSQL会出错的.# service mysqld start初始化 MySQL 数据库: Neither host 'localhost.localdomain' nor 'localhost' could be looked up with/usr/bin/resolveipPlease configure t原创 2012-07-21 19:26:54 · 811 阅读 · 0 评论 -
ubuntu12.04 卸载和安装mysql
卸载mysql第一步1sudo apt-get autoremove --purge mysql-server-5.02sudo apt-get remove mysql-server3sudo apt-get autoremove m转载 2012-07-21 19:55:22 · 567 阅读 · 0 评论 -
MySQL忘记密码处理方法
在实际操作中忘记MySQLroot密码是一件令人很头痛的事情,不要急以下的文章就是介绍MySQLroot密码忘记的时候解决方案,我们可以对其进行如下的步骤重新设置,以下就是文章的详细内容描述。首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库。因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的状态下,其他的用户也可以任原创 2012-07-22 11:24:59 · 429 阅读 · 0 评论 -
ubuntu下安装mysql
现在的软件越来越好安装,尤其是在ubuntu下安装软件,更是没有技巧,只需要在联网的情况下使用apt-get inatll 即可。在决定安装mysql之前,要先确定系统是否已经安装mysql。如下图: 由此可以看出系统中并没有安装mysql.下面执行sudo apt-get install mysql-server my-client进行安装。下图:转载 2012-07-21 19:23:01 · 551 阅读 · 0 评论 -
mysql上利用通配符模糊匹配数据库进行grant
给业务搭建数据库时由于采用的时分库策略,导致每个服务器上都有上百个数据库,新用户需要只对这些库有权限读写,由于服务器多,数据库多,如果采用逐个赋权限会很麻烦在mysql中,当我们想对某个用户赋予权限时,对于数据库可以利用通配符(_和%)指定一类数据库进行操作,这样就可以避免逐个操作啦。举例如下,假设我们有数据库,root@(none) 09:41:16>show databases;转载 2012-07-15 15:38:39 · 7224 阅读 · 0 评论 -
mysql源码安装
从网上下载一份mysql源码http://dev.mysql.com/downloads/我下载的版本是mysql-5.0.51b.tar.gz,放到一个目录下,解压缩tar xzvf mysql-5.0.51b.tar.gz生成目录mysql-5.0.51b\cd mysql-5.0.51b清理掉之前编译的信息,这是一个好习惯:make clean转载 2012-07-15 15:37:34 · 571 阅读 · 0 评论 -
mysql show variables
mysqld服务器维护两种变量。全局变量影响服务器的全局操作。会话变量影响具体客户端连接相关操作。服务器启动时,将所有全局变量初始化为默认值。可以在选项文件或命令行中指定的选项来更改这些默认值。服务器启动后,通过连接服务器并执行SET GLOBAL var_name语句可以更改动态全局变量。要想更改全局变量,必须具有SUPER权限。服务器还为每个客户端连接维护会话变量。连接时使用相转载 2012-07-15 15:43:10 · 1737 阅读 · 0 评论 -
mysql--一个表上可以指定几个auto_increment
auto_increment测试:一个表是否可以有多个列使用auto_increment?只有一个列使用auto_increment:mysql> create table tab_auto_incr(a int not null auto_increment,b int not null,primary key (a)); Query OK, 0 ro转载 2012-07-15 15:36:18 · 4819 阅读 · 0 评论 -
mysql更改表结构:添加、删除、修改字段、调整字段顺序
添加字段:alter table `user_movement_log`Add column GatewayId int not null default 0 AFTER `Regionid` (在哪个字段后面添加)删除字段:alter table `user_movement_log` drop column Gatewayid调整字段顺序:ALTER转载 2012-07-24 23:54:21 · 52328 阅读 · 1 评论 -
Exception in thread "main" com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too lo
今天在测试往数据库存图像、读图像以及更新图像时,前面存和读都没问题,但是后面用一张新图new.jpg更新时就出现上面的异常,图像字段为img,BLOB类型。 Data truncation即字段过长,放不下。网上找了半天都是关于编码的。即中文字符一个字符占据的空间是一个英文字符的两倍,因此而导致放不下。但是我这个是图像的存取,存取的是Binary Stream(字节流),所以我怀疑可能转载 2012-07-24 23:53:46 · 3274 阅读 · 0 评论 -
MySQL 基本命令
1、MySQL常用命令create database name; 创建数据库use databasename; 选择数据库drop database name 直接删除数据库,不提醒show tables; 显示表describe tablename; 表的详细描述 或者是 show columns from tablename ;select 中原创 2012-07-26 21:21:38 · 3786 阅读 · 0 评论 -
Hibernate映射解析---继承映射
现实世界中有很多种动物,比如:Pig(猪),Bird(鸟)等等,当我用面向对象的思想分析时,我们一般会将它们的共同部分抽取出来增加一个抽象类Animal(动物),这样在编写程序时Pig和Bird只需要继承它们的父类Animal就可以省去很多重复的代码。Java代码中只需要extends关键字就可以轻松实现这种继承关系,但是对于我们使用的关系型数据库是没有任何关键字可以指明这种继承关系的。为了将这种转载 2012-07-27 09:26:39 · 610 阅读 · 0 评论 -
MySQL Server 5.0–安装及配置/MySQLInstanceConfig.exe用法详解
MySQL Server 5.0 – 安装及配置关键字: MySQL 配置环境:Window XP Professional + SP2, MySQL Server 5.0 下载软件:MySQL Server 5.0.18 http://dev.mysql.com/downloads/mysql/5.0.html下载MySQL Server,并安装在本地机器上。下面两个转载 2012-07-26 21:42:23 · 35856 阅读 · 1 评论 -
MySql系统配置及MySql安装后移动方法
其实mysql的启动,主要是服务的启动,mysql没有打开和关闭数据库的命令,启动了服务,就启动了数据库,关闭数据库,只能关闭服务。 在添加服务用basedir/bin/mysqld来添加:mysqld -install 生成的服务的可执行文件路径就是这个命令自己的路径:basedir/bin/mysqld, 生成的服务名默认是mysql转载 2012-07-26 21:43:48 · 2988 阅读 · 0 评论 -
MySQL配置文件浅读
进入MySQL的安装目录(Windows OS),看到几个配置文件,这些都是为了让MySQL工作在不同的环境下而专门做的配置优化。如下:my-huge.ini 拥有1-2G内存的MySQL服务器my-large.ini 拥有512M内存的MySQL服务器,另外的my-medium.ini,my-large.ini ,my-large.ini,my-innodb-heav转载 2012-07-26 20:58:13 · 1840 阅读 · 0 评论 -
mysql 配置文件 ----[MySQL][5.1][.ini][4] MySQL my-huge.ini
# 针对非常大型系统的 MySQL 配置文件例子。## 这是针对一个内存为 1G - 2G 的大系统,系统主要运行 MySQL。## 你可以复制该文件到 /etc/my.cnf 以设置全局的选项,复制到 mysql-data-dir/my.cnf 以设置服务器特有的选项(在本安装中该目录是 C:mysqldata ),复制到 ~/.my.cnf 以设置用户特有的选项。##转载 2012-07-26 21:00:41 · 2193 阅读 · 0 评论 -
mysql 配置文件--- my-medium.ini
# 针对中等系统的 MySQL 配置文件例子。## 这是针对一个小内存(32M - 64M)系统的,MySQL 扮演了一个比较重要的部分,或者当系统达到 128M 后 MySQL 被用来与其它程序(如一个 Web 服务器)一起使用。## 你可以复制该文件到 /etc/my.cnf 以设置全局的选项,复制到 mysql-data-dir/my.cnf 以设置服务器特有的选项(在本安装转载 2012-07-26 20:59:09 · 1209 阅读 · 0 评论