
数据库技术
Hsuxu
程序猿
展开
-
mysql数据据存储引擎InnoDB和MyISAM的优势及区别
MyISAM:这个是默认类型,它是基于传统的ISAM类型,ISAM是Indexed Sequential Access Method (有索引的顺序访问方法) 的缩写,它是存储记录和文件的标准方法.与其他存储引擎比较,MyISAM具有检查和修复表格的大多数工具. MyISAM表格可以被压缩,而且它们支持全文搜索.它们不是事务安全的,而且也不支持外键。如果事物回滚将造成不完全回滚,不具有原子性。如果转载 2012-09-06 20:33:12 · 871 阅读 · 0 评论 -
数据库存储过程总结
在大型数据库系统中,存储过程和触发器具有很重要的作用。无论是存储过程还是触发器,都是SQL 语句和流程控制语句的集合。就本质而言,触发器也是一种存储过程。存储过程在运算时生成执行方式,所以,以后对其再运行时其执行速度很快。SQL Server 2000 不仅提供了用户自定义存储过程的功能,而且也提供了许多可作为工具使用的系统存储过程。 存储过程的概念 存储过程(Stored Proced转载 2013-04-10 14:05:40 · 1253 阅读 · 0 评论 -
JDBC之Statement,PreparedStatement,CallableStatement的区别
Statement 每次执行sql语句,数据库都要执行sql语句的编译 ,最好用于仅执行一次查询并返回结果的情形,效率高于PreparedStatement. PreparedStatement是预编译的,使用PreparedStatement有几个好处 a. 在执行可变参数的一条SQL时,PreparedStatement比Statement的效率高,因为DBMS预编译一转载 2013-04-10 14:01:20 · 1062 阅读 · 0 评论 -
JNDI 是什么
JNDI是 Java 命名与目录接口(Java Naming and Directory Interface),在J2EE规范中是重要的规范之一,不少专家认为,没有透彻理解JNDI的意义和作用,就没有真正掌握J2EE特别是EJB的知识。 那么,JNDI到底起什么作用? 要了解JNDI的作用,我们可以从“如果不用JNDI我们怎样做?用了JNDI后我们又将怎样做?”这个问题来探讨。转载 2012-11-05 21:51:25 · 679 阅读 · 0 评论 -
Tomcat下配置JNDI数据源的三种方法
JNDI(Java Naming and Directory Interface,Java命名和目录接口)是一组在Java应用中访问命名和目录服务的API。 没有使用JNDI时我用要这样连接数据库: [html] view plaincopyprint? Connection conn=null; try { Clas转载 2012-11-05 21:56:20 · 907 阅读 · 0 评论 -
mysql禁用autocommit
mysql的autocommit(自动提交)默认是开启,其对mysql的性能有一定影响,举个例子来说,如果你插入了1000条数据,mysql会commit1000次的,如果我们把autocommit关闭掉,通过程序来控制,只要一次commit就可以了。 我们可以通过set来设置autocommit mysql> set global init_connect="set转载 2012-10-26 15:27:12 · 1022 阅读 · 0 评论 -
优化LIMIT和OFFSET
在分页系统中使用limit和offset是很常见的,它们通常也会和ORDER BY一起使用。索引对排序较有帮助,如果没有索引就需要大量的文件排序。 一个常见的问题是偏移量很大,比如查询使用了LIMIT 10000,20 ,它就会产生10020行数据,并且丢失掉前10000行。 一个提高效率的简单技巧就是在覆盖索引上进行偏移,而不是全行数据进行偏移。可以讲从覆盖索引上提取出来的数据和全行的数据进原创 2012-09-14 16:15:22 · 3866 阅读 · 0 评论 -
网站计数器表的设计
在做web项目时经常需要统计网站的访问量。下面就来看看怎么做. 为了尽可能保持简单,假设有一个计数器表,只有一行记录,用于统计网站的点击量。 CREATE TABLE hit_counter( cnt int unsigned not null ) ENGINE=InnoDB; 网站的每次点击都会更新计数器 Update hit_counter SET cnt=cnt+1;原创 2012-09-12 10:54:26 · 1261 阅读 · 0 评论 -
Java中的事务处理
在数据库操作中,一项事务是指由一条或多条对数据库更新的sql语句所组成的一个不可分割的工作单元。只有当事务中的所有操作都正常完成了,整个事务才能被提交到数据库,如果有一项操作没有完成,就必须撤消整个事务。 例如在银行的转帐事务中,假定张三从自己的帐号上把1000元转到李四的帐号上,相关的sql语句如下: update account set monery=monery-1000 w转载 2012-09-06 19:22:17 · 772 阅读 · 0 评论 -
为什么需要Class.forName("com.mysql.jdbc.Driver")
在使用传统的JDBC连接数据库的时候,总是需要这一句(以MySQL为例): Class.forName("com.mysql.jdbc.Driver"); 以前我也没深究,只是看网上的例子都这么写,实际上也跑通了,于是便懒得去管内部原理。不过大概还是清楚的,知道这句话是向DriverManage注册了一个MySQL的JDBC Driver。 但为什么要用Class.forName这样看转载 2013-06-13 18:16:04 · 2022 阅读 · 0 评论