
Database
iteye_8146
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
oracle索引基础概念
原理:对表中的某些列进行排序,那么当查找这些列时,就不需要全表查询了,可在排序好的列中进行快速搜索,比如二分法等。应用:在where子句中出现的列往往是需要创建索引的列。总结:1)提高查询的效率2)空间换时间,需要占用表空间tablespace,如果索引文件特别大时,可考虑将索引放在另外的表空间中。3)索引类型有标准索引(B树索引)、位图索引和函数索引。位图索引应用于基数(基数是指某个列可能拥有的...原创 2010-02-08 10:01:55 · 118 阅读 · 0 评论 -
spring事务管理的一个知识盲点
使用spring事务时,事务所作用的方法需要抛出异常,这样transactionManager才能判断该方法是否有问题。所以该方法不要自己捕获了异常,不然transactionManager认为它是成功的。 例如: [code="xml"][/code] UserService被事务作用,addUser方法为: [code="java"]public void addUser() { ...原创 2010-07-27 19:49:37 · 124 阅读 · 0 评论 -
ibatis缓存的简单使用和源码分析
配置: <cacheModel type="LRU" id="user-cache"> <flushInterval hours="24"/> <flushOnExecute statement="user.addUser"/> <flushOnExecute sta2010-07-21 18:03:29 · 169 阅读 · 0 评论 -
where 1=1是否造成性能影响?
讨论见http://www.iteye.com/topic/710338 帖子中说如果使用了where 1=1,则索引查询会失效。通过实验,该结论是错误的: mysql> explain select * from pu_user_message where userid=1\G *************************** 1. row ****************...原创 2010-07-14 09:21:39 · 2403 阅读 · 0 评论 -
mysql反引号的使用
反引号`,数字1左边的符号。 保留字不能用于表名,比如desc,此时需要加入反引号来区别,但使用表名时可忽略反引号。 create table desc报错 create table `desc`成功 create table `test`成功 drop table test成功 保留字不能用于字段名,比如desc,此时也需要加入反引号,并且insert等使用时也要加上反引号。 ...原创 2010-07-14 09:19:24 · 168 阅读 · 0 评论 -
数据库索引的优缺点
优点:索引通过对某些列进行排序,可大大提高查询的速度。 缺点: 1)空间换时间,索引会占用额外的物理存储空间。 2)在对表记录进行新增、修改和删除的时候,索引需要进行维护。 3)索引使用不当,反而会造成查询减慢或者没有效果。比如组合索引的使用。...原创 2010-06-06 20:17:04 · 159 阅读 · 0 评论 -
hbm.xml插入外部xml文件的配置
hbm.xml可插入外部xml文件替换重复使用的内容。例如我这里对User进行分表,将使用user0、user1、user2之类的表,因此hbm映射文件内容基本都是一样的。可使用ENTITY声明插入外部的xml片段。 如dbmap/User.hbm.xml: <?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC ...2010-04-28 22:39:02 · 222 阅读 · 1 评论 -
select *与select 所有字段的查询效率比较
mysql 5.1.37 表记录数41,547,002,即4000w行 使用远程客户端取1000条数据,统计时间: [code="sql"]SELECT * FROM `dmsp`.`dmsp_dimension_content` LIMIT 0, 1000;[/code]时间2.218s,网络消耗0.547s [code="sql"]SELECT `id`, `appid`, `ao...2011-07-15 10:38:23 · 1506 阅读 · 0 评论 -
Hibernate二级缓存与查询缓存的组合探究
0.前言 由于对Hibernate的二级缓存和查询缓存的区别不了解,也不知道它们起什么作用。于是动手做了一些实验,对它们的组合使用有了一个表面的认识。 1.前提 1) 不使用一级缓存(Session级别)的情况。因为大部分api对session的操作都进行n层封装,用完session就close,一般很少使用到一级缓存。 2) ...2009-07-23 16:03:04 · 105 阅读 · 0 评论 -
Hibernate解析bean时Could not find a getter的异常解决
net.sf.hibernate.PropertyNotFoundException: Could not find a getter for oProduct in class 这个异常的原因有多个,其中之一是:get/set是不允许方法名中有连续两个大写字母的。比如这里的oProduct,那么它的getter和setter为: public OProduct getOProduct...2010-03-01 17:50:29 · 171 阅读 · 0 评论 -
createSQLQuery报出“列名无效”错误的解决方法
比如hql为Select po.Id as {productOrder.intId} From o_product_order po,那么productOrder这个映射文件只能有intId这个属性值,如果有另外的属性值,则会出现列名无效的错误。 解决方法为用as {productOrder.intId}之类的语句把productOrder所有的属性值进行转换。比如productOrder...2010-03-01 17:38:58 · 1462 阅读 · 0 评论 -
Hibernate2和3中关于sequence的配置区别
hbm映射文件中的配置: <id name="id" column="id" type="string" length="20" unsaved-value="null" ..2010-03-01 17:34:58 · 101 阅读 · 0 评论 -
jdbc和jta事务管理小结
jdbc事务管理只能限于单个数据源,不能跨多个数据源。事务是默认自动提交的,即一条sql提交一次。这里以两个数据源为例: 事务管理 DAO 数据源 transactionManager dao1 ds1 dao2 ds2 即事务管理作用在ds1上,在ds2不起作用。以下代码说明了事务提交...2010-07-28 11:01:26 · 116 阅读 · 0 评论