数据库
泊川
现任阿里巴巴研发工程师,多年从业经验,技术扎实精湛,专注互联网、企业级应用系统开发。
展开
-
sqlite-5分钟入门手册
它的特点是:极小、数据库、性能不错。适合场景:小型应用软件,解决存文件的不便原创 2014-07-01 19:25:43 · 966 阅读 · 0 评论 -
JDBC中Statement与PreparedStatement的区别
1. statement每次执行sql语句,相关数据库都要执行sql语句的编译;preparedstatement是预编译的, 采用Cache机制(预编译语句,放在Cache中,下次执行相同SQL语句时,则可以直接从Cache中取出来,有利于sql生成查询计划。),对于批量处理可以大大提高效率. 也叫JDBC存储过程。例如,如果要执行两条sql语句SELECT colume FRO原创 2014-06-17 14:46:10 · 493 阅读 · 0 评论 -
Java 程序员在写 SQL 时常犯的 10 个错误
Java程序员编程时需要混合面向对象思维和一般命令式编程的方法,能否完美的将两者结合起来完全得依靠编程人员的水准: 技能(任何人都能容易学会命令式编程)模式(有些人用“模式-模式”,举个例子,模式可以应用到任何地方,而且都可以归为某一类模式)心境(首先,要写个好的面向对象程序是比命令式程序难的多,你得花费一些功夫)但当Java程序员写SQL语句时,一原创 2014-06-17 14:49:45 · 468 阅读 · 0 评论 -
Mysql联合索引实测分析
对于为什么要使用联合索引,最重要的几点如下:1.在mysql查询中一次简单查询仅能使用一个索引,索引过多,会影响INSERT及UPDATE性能,简单说就是会影响数据写入性能。因为更新数据的同时,也要同时更新索引。但是索引列越多,通过索引筛选出的数据越少。有1000W条数据的表,有如下sql:select * from table where a = 1 and b =2 and c = 3,假原创 2016-03-18 10:37:26 · 874 阅读 · 0 评论 -
sqlite快速入门手册-真的很简单
它的特点是:极小、数据库、性能不错。适合场景:小型应用软件,解决存文件的不便原创 2014-06-12 15:30:35 · 1505 阅读 · 0 评论 -
MySQL for Excel新版发布,用Excel方式操作MySQL
甲骨文公司的MySQL Windows体验团队今天更新了MySQL for Excel,发布了1.1.1版本。 MySQL for Excel是包含在MySQL Installer中的一个工具,允许开发者通过微软的Excel直接操作MySQL数据库,比如:导出MySQL数据到Excel导入Excel数据到MySQL现有数据表或新建数据表直接在Excel中编辑My原创 2014-06-17 14:46:29 · 2102 阅读 · 0 评论 -
ORACLE解锁record is locked by another user
在操作ORACLE数据库的时候,由于执行完,没有COMMIT,直接把PL/SQL关闭掉,后来导致那张表被锁住,当编辑时就会出现这个信息,record is locked by another user! 当出现这种情况的时候,只要操作下面几个步骤就可以解锁了。 1、查看锁 select t2.username,t2.sid,t2.serial#,t2.logon_time from v$l原创 2014-06-17 14:50:50 · 579 阅读 · 0 评论 -
MySQL主主(master-master)复制
MySQL主主复制 MySQL主主复制结构区别于主从复制结构。在主主复制结构中,两台服务器的任何一台上面的数据库存发生了改变都会同步到另一台服务器上,这样两台服务器互为主从,并且都能向外提供服务。下面是配置步骤需要两台MySQL主机做服务器:MySQL的创建方法参见:创建MySQL数据库Server-1:192.168.0.1Server-2:192.168.0.原创 2014-06-17 14:47:07 · 472 阅读 · 0 评论 -
Mysql大数据表删除重复数据
对没有索引的字段进行查询重复时如果使用select name from table where name in(select name from table group by name having count(name)>1)这类查询,效率非常低,是不可取的,下面给出替代步骤:1.根据重复记录创建临时表create table temptable as ( select titl原创 2014-06-17 14:47:40 · 573 阅读 · 0 评论 -
用TIMESTAMP类型取代INT和DATETIME
时间在我们开发中应用非常普遍,大部分开发中我们将用Mysql的datetime格式来存储,但是对于经常用时间来排序或者查询的应用中,我们要将时间做成索引,这个就跟查询效率很有关系,但是很多程序员会用int来存时间戳,然后再进行处理 1、首先是我们分析datetime长度是8个字节,INT的长度是4个字节,存储空间上比datatime少。 2、int存储索引的空间也比dateti原创 2014-06-17 14:48:46 · 761 阅读 · 0 评论 -
MYSQL的分区字段,必须包含在主键字段内
MYSQL的分区字段,必须包含在主键字段内 MYSQL的分区字段,必须包含在主键字段内在对表进行分区时,如果分区字段没有包含在主键字段内,如表A的主键为ID,分区字段为createtime ,按时间范围分区,代码如下: CREATE TABLE T1 ( id int(8) NOT NULL AUTO_INCREMENT, createtime date原创 2014-06-17 14:50:03 · 2800 阅读 · 0 评论 -
MySQL集群的可行方案
如果单MySQL的优化始终还是顶不住压力时,这个时候我们就必须考虑MySQL的高可用架构(很多同学也爱说成是MySQL集群)了,目前可行的方案有:一、MySQL Cluster优势:可用性非常高,性能非常好。每份数据至少可在不同主机存一份拷贝,且冗余数据拷贝实时同步。但它的维护非常复杂,存在部分Bug,目前还不适合比较核心的线上系统,所以这个我不推荐。二、DRBD磁盘网络镜像方案优势:软件原创 2014-06-17 14:50:41 · 473 阅读 · 0 评论 -
Mysql中Insert into xxx on duplicate key update和REPLACE INTO使用
这两个语句都是为了实现:如果没有记录则插入,如果有记录则更新。有点需要注意,这两个语句都是Mysql特有的语句,不属于标准sql。它的实现类似于以下写法:select 1 from t where id=1;程序判断是否存在值if(存在){ update t set update_time = '2012' where id = 1}else{原创 2014-06-17 14:47:46 · 629 阅读 · 0 评论 -
MYSQL自动备份策略的选择
目前流行几种备份方式:1、逻辑备份:使用mysql自带的mysqldump工具进行备份。备份成sql文件形式。优点:最大好处是能够与正在运行的mysql自动协同工作,在运行期间可以确保备份是当时的点,它会自动将对应操作的表锁定,不允许其他用户修改(只能访问)。可能会阻止修改操作。sql文件通用方便移植。缺点:备份的速度比较慢。如果是数据量很多的时候。就很耗时间。如果数据库服务器处在提供给用户服务状原创 2014-06-17 14:50:20 · 614 阅读 · 0 评论 -
DBCP连接池泄露问题
线上使用DBCP时,因为网络闪断、数据库重启、授权错误,在获取连接出现异常时,就可能导致连接数持续增多,配置以下参数可以进行补救:datasource.removeAbandoned=truedatasource.removeAbandonedTimeout=120datasource.logAbandoned=true datasource.removeA原创 2016-04-20 16:16:00 · 7287 阅读 · 0 评论