【数据库专题】
洪文聊架构
请关注我的公众号[洪文聊架构],洪文,让我们一起探索架构师之路!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
项目中 成功运用 proxool 连接池
最近做的一个项目中运用到了连接池技术,可能我们大家比较熟悉的开源连接池有dbcp,c3p0,proxool。对这三种连接池来说,从性能和出错率来说,proxool稍微比前两种好些。今天我主要简单的讲述一下,我在项目中成功的配置和源码。 第一步:首先去http://proxool.sourceforge.net/下载一个proxool.jar文件了,我用的是proxool-0.8.原创 2012-08-24 11:25:35 · 1829 阅读 · 0 评论 -
大数据存取的选择:行存储还是列存储?
目前大数据存储有两种方案可供选择:行存储和列存储。业界对两种存储方案有很多争持,集中焦点是:谁能够更有效地处理海量数据,且兼顾安全、可靠、完整性。从目前发展情况看,关系数据库已经不适应这种巨大的存储量和计算要求,基本是淘汰出局。在已知的几种大数据处理软件中,Hadoop的HBase采用列存储,MongoDB是文档型的行存储,Lexst是二进制型的行存储。在这里,我不讨论这些软件的技术和优缺点,只围转载 2013-05-22 11:09:07 · 1192 阅读 · 0 评论 -
程序员学数据库那些事儿---学习数据库
最近有人问(是问,不是请教)我数据库怎么学?要学哪些?以下我谈一些个人想法。 其实我的数据库知识不是很扎实,真心的。 当年我学这个东西时某个大神告诉我“学会sql server”走遍天下都不怕。事实上,这几年如果只会sqlserver根本到哪都很惊悚。原因?1、如果是政府软件,虽然不像互联网那样高,但是数据存储量确实很大很大,大家想想譬如财政数据、公积金数据、民政转载 2013-09-09 17:24:32 · 1483 阅读 · 1 评论 -
MySQL 存储过程
MySQL 存储过程 在MYSQL 5中,终于引入了存储过程这一新特性,这将大大增强MYSQL 的数据库处理能力,在本文中,将指导读者快速掌握MYSQL 5的存储过程的基本知识,带领用户入门。存储过程介绍存储过程是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中。用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它原创 2013-09-11 11:28:39 · 879 阅读 · 0 评论 -
/停止/重启MySQL
如何启动/停止/重启MySQL启动、停止、重启 MySQL 是每个拥有独立主机的站长必须要撑握的操作,下面为大家简单介绍一下操作方法:一、启动方式1、使用 service 启动:service mysqld start2、使用 mysqld 脚本启动:/etc/inint.d/mysqld start3、使用 safe_mysqld原创 2012-12-18 09:32:23 · 816 阅读 · 0 评论 -
MySQL的大小写敏感性 lower_case_table_names
MySQL的大小写敏感性 lower_case_table_names在 MySQL 中,数据库和表对就于那些目录下的目录和文件。因而,操作系统的敏感性决定数据库和表命名的大小写敏感。这就意味着数据库和表名在 Windows 中是大小写不敏感的,而在大多数类型的 Unix 系统中是大小写敏感的。奇怪的是列名与列的别名在所有的情况下均是忽略大小写的,而表的别名又是区分大小写的。转载 2013-04-26 09:40:27 · 2206 阅读 · 0 评论 -
远程连接mysql速度慢的解决方法:skip-name-resolve取消DNS的反向解析
PHP远程连接MYSQL速度慢,有时远程连接到MYSQL用时4-20秒不等,本地连接MYSQL正常,出现这种问题的主要原因是,默认安装的MYSQL开启了DNS的反向解析,在MY.INI(WINDOWS系统下)或MY.CNF(UNIX或LINUX系统下)文件的[mysqld]下加入skip-name-resolve这一句。但是,这样会引起一个问题:连接mysql时,不能使用 localhos转载 2014-02-20 13:53:12 · 2267 阅读 · 0 评论 -
数据库 DDL 创建表语句: 总结
CREATE TABLE `app_def` ( `id` int(11) NOT NULL AUTO_INCREMENT, `srcip` varchar(128) DEFAULT '*', `ip` varchar(128) DEFAULT NULL, `protocol` int(11) DEFAULT NULL, `s原创 2012-12-25 14:41:36 · 1419 阅读 · 0 评论 -
sql语句的join用法
sql的join分为三种,内连接、外连接、交叉连接。以下先建2张表,插入一些数据,后续理解起来更方便一些。create table emp(empno int, name char(20),depart int);create table depart(dpno int,dpname char(20));insert into emp values (1,'be转载 2014-02-25 11:12:04 · 1119 阅读 · 0 评论 -
Mysql 数据库导入导出 sql文件导入导出 命令 详解~~Myself
1.导入sql文件命令:(控制台直接输入) mysql -h localhost -u traffic -p dbname/home/tmp_soft/cmdb.sql 其中localhost是服务器名字 traffic是数据库登陆名 dbname是数据库名字---》输入后提示输入数据库登陆密码--->输入密码 搞定!!!2.导出sql文原创 2012-12-20 09:35:09 · 1241 阅读 · 0 评论 -
多个Mysql的配置与启动方式,mysqld mysql_safe mysql.server 区别
1.首先明确启动mysql的方式有:一、启动方式1、使用 service 启动:service mysqld start2、使用 mysqld 脚本启动:/etc/inint.d/mysqld start (不建议此方式,这是直接启动mysqld进程,不管其之前是否被启动)3、使用 mysqld_safe 启动:去对应mysql安装目的bin下,执行命令./my原创 2013-04-26 10:58:01 · 12150 阅读 · 0 评论 -
Mysql 命令行查询用户权限host所有用户
###mysql专题:一句话搞定:查看用户及host等信息:mysql> select user,host,password from mysql.user;原创 2012-12-18 14:23:52 · 4805 阅读 · 0 评论 -
Mysql启动失败Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysq
Java代码 Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2) 这个错误让我犯难,折腾了好几个小时 网上去搜索,一大片的内容都是这个 http://hi.baidu.com/lewutian/blog/item/a361a59b6b0480be原创 2012-12-18 09:33:58 · 3071 阅读 · 0 评论 -
sql 语句 IP处理函数inet_aton()和inet_ntoa()
from http://dev.mysql.com/doc/refman/5.1/zh/functions.html * INET_ATON(expr)给出一个作为字符串的网络地址的"点地址"(如127.0.0.1)表示,返回一个代表该地址数值的整数。地址可以是4或8比特地址。mysql> SELECT INET_ATON('209.207.224.40');转载 2013-11-26 10:18:18 · 3280 阅读 · 0 评论 -
Mysql 权限和grant命令详解
MySQL 赋予用户权限命令的简单格式可概括为:grant 权限 on 数据库对象 to 用户 一、grant 普通数据用户,查询、插入、更新、删除 数据库中所有表数据的权利。grant select on testdb.* to common_user@'%'grant insert on testdb.* to common_user@'%'grant转载 2014-08-08 09:51:01 · 1469 阅读 · 0 评论 -
PreparedStatement的用法
jdbc(java database connectivity,java数据库连接)的api中的主要的四个类之一的java.sql.statement要求开发者付出大量的时间和精力。在使用statement获取jdbc访问时所具有的一个共通的问题是输入适当格式的日期和时间戳:2002-02-05 20:56 或者 02/05/02 8:56 pm。 通过使用java.sql.prepare原创 2013-03-12 15:37:34 · 1089 阅读 · 0 评论 -
TIMESTAMP 是什么 总结 详解
1.用途:如达到你某列的默认值为当前更新日期与时间的功能,你可以使用timestamp列类型自动地用当前的日期和时间标记insert或update的操作。2.下面就详细说明timestamp列类型timestamp列类型timestamp值可以从1970的某时的开始一直到2037年,精度为一秒,其值作为数字显示。timestamp值显示尺寸的格式如下原创 2012-11-15 13:30:06 · 7122 阅读 · 0 评论 -
关于ResultSet.last()方法报错问题的解决
今天看到这样的一个文章,感觉写的挺好,就把它拿过来收藏一下,也与大家分享一下。有位朋友在使用ResultSet.last时,遇到了这样的问题java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Unsupported method: ResultSet.last。 在不想再次通过查询数据库得到记录条数的情原创 2012-10-24 11:03:11 · 2111 阅读 · 0 评论 -
数据库 DATETIME, DATE和TIMESTAMP类型 区别 联系 详解
DATETIME, DATE和TIMESTAMP类型是相关的。本文描述他们的特征,他们是如何类似的而又不同的。 DATETIME类型用在你需要同时包含日期和时间信息的值时。MySQL检索并且以'YYYY-MM-DD HH:MM:SS'格式显示DATETIME值,支持的范围是'1000-01-01 00:00:00'到'9999-12-31 23:59:59'。(“支持”意味着尽管更早的值原创 2012-10-11 08:53:30 · 1572 阅读 · 0 评论 -
JDBC连接MySQL数据库及示例 源码 详解
JDBC连接MySQL数据库及示例分类: Java基础学习2011-10-12 12:40 6221人阅读 评论(7) 收藏 举报JDBC是Sun公司制定的一个可以用Java语言连接数据库的技术。一、JDBC基础知识 JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语原创 2012-10-15 11:22:10 · 2063 阅读 · 0 评论 -
PreparedStatement的用法
jdbc(java database connectivity,java数据库连接)的api中的主要的四个类之一的java.sql.statement要求开发者付出大量的时间和精力。在使用statement获取jdbc访问时所具有的一个共通的问题是输入适当格式的日期和时间戳:2002-02-05 20:56 或者 02/05/02 8:56 pm。 通过使用java.sql.prepare原创 2012-10-15 13:24:47 · 1337 阅读 · 2 评论 -
如何安装SQL server 2000 SP4补丁
如何安装SQL server 2000 SP4补丁首先下载了一个SQL Server 2000的个人版安装上去,安装后重启了一下,重新完毕经过测试,SQL是可以正常使用的.随后在MicroSoft的官方网站(切记最好是官网下载,有些的下载版本解压后不带setup.bat文件)下载了SP4的补丁:SQL2000-KB884525-SP4-x86-CHS.EXE.双转载 2012-10-18 09:39:32 · 6532 阅读 · 1 评论 -
java application 应用程序 使用JDBC proxool 两种方式连接数据库 测试程序代码
新建java project,名称为ProxoolTest,在根目录下新建src文件夹,并在src文件夹下新建test类和proxool.xml文件[java] view plaincopy//test.java文件 package src; import java.sql.Connection; import原创 2012-08-24 13:17:14 · 1661 阅读 · 0 评论 -
远程连接SQLServer2000服务器的方法 是否可连接 详解!
在连接本地服务器时,通常使用的是命名管道协议(在服务器网络实用工具里可以看到启用的协议有这个),默认端口是445,因此在本地能连通是不能说明什么问题的,连接远程服务器是完全不同的协议),再次连接,显示连接成功。 远程连接SQL Server 2000的解决方案: 需求如下:需要远程连接外地的SQL Server 2000服务器。 测试条件:一个公网IP原创 2012-10-17 16:10:23 · 1512 阅读 · 0 评论 -
数据库 视图
今天用了一把数据库中的视图,事情是这样,实际要求从约10多个数据表中查询出5个结果集传递给另一个模块。开始准备直接用sql语句,但感觉很不好,一个一个的写sql语句,一个字累。很自然地想到了视图,过程很简单,这样做的好处是将程序中两个逻辑分开,视图定义好了,程序中直接select每个字段就好,省去了麻烦的inner join & outer join,而且看上去更为清晰。 另一原创 2012-10-18 14:53:06 · 1086 阅读 · 0 评论 -
使用insert语句时,什么样的数据要加引号,什么样的数据不用加引号?解决办法
使用insert语句时,什么样的数据要加引号,什么样的数据不用加引号?CREATE DATABASE MyDBUse MyDB CREATE TABLE Customer_Data (customer_id smallint, first_name char(20), last_name char(20), phone char(1转载 2012-10-20 15:31:05 · 8405 阅读 · 0 评论 -
NULL与MySQL空字符串的区别
1.在数据库中,空值用来表示实际值未知或无意义的情况。因为空值表示缺少数据,所以空值和其它值没有可比性,即不能用等于、不等于、大于或小于和其它数值比较,当然也包括空值本身(但是在decode中例外,两个空值被认为是等价)。测试空值只能用比较操作符IS NULL 和IS NOT NULL。如果使用带有其它比较操作符的条件表达式,并且其结果依赖于空值,那么其结果必定是NULL。在where条件中,Or原创 2012-10-30 10:57:37 · 2273 阅读 · 0 评论 -
Mysql 中null与空字符串 区别
前阵子在更新数据库时候碰见一个新增表的语句,发现插入的空值自动填充的值,很是费解,下面我们先来说说案例,以下是模仿的测试:首先创建一个表:create table ceshi(ID INT ,createDate TimesTamp );包含2个字段,id为int类型,createDate为TimesTamp类型,现在往这个表中插入一条数据,其中createDate类型插入一个空值转载 2012-10-30 10:56:02 · 3826 阅读 · 0 评论 -
关于空字符串与NULL的区别(以JAVA角度解释,不错)
今天在对数据库进行更新操纵时候,发现一个where 语句后面的某一字段为空字符串,如:......where name=" "; 但是数据库中的name字段却是NULL,这个时候我去更新发现不能够成功更新。所以今天对空字符串与NULL的区别讲解点。 a: 我们常常定义了String a=“”;其实这个时候已经给a分配了内存了,而String a=null;这个时候转载 2012-10-30 11:17:22 · 1291 阅读 · 0 评论 -
Java中,ResultSet 的用法
•在Java中,获得ResultSet的总行数的方法有以下几种。 第一种:利用ResultSet的getRow方法来获得ResultSet的总行数 Java代码 Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);原创 2012-10-22 10:46:29 · 1197 阅读 · 0 评论 -
MySQL索引原理及慢查询优化MySQL索引原理及慢查询优化
转自:http://tech.meituan.com/mysql-index.htmlMySQL凭借着出色的性能、低廉的成本、丰富的资源,已经成为绝大多数互联网公司的首选关系型数据库。虽然性能出色,但所谓“好马配好鞍”,如何能够更好的使用它,已经成为开发工程师的必修课,我们经常会从职位描述上看到诸如“精通MySQL”、“SQL语句优化”、“了解数据库原理”等要求。我们知道一般的应用系统,读转载 2016-11-28 15:43:15 · 584 阅读 · 0 评论
分享