2007-04-11
在many-to-many的中间表中配置索引
关键字: hibernate sql性能<set name="cards" inverse="true" cascade="all,delete-orphan" table="ACCOUNT_CARD" fetch="join"> <key column="ACCOUNT_ID"/> <many-to-many class="Card" foreign-key="fk_acctcard_cardid"> <column name="CARD_ID" index="i_acctcard_cardid"></column> </many-to-many> </set> <set name="accounts" inverse="true" cascade="all,delete-orphan" table="ACCOUNT_CARD"> <key column="CARD_ID" /> <many-to-many class="Account" foreign-key="fk_acctcard_accountid" > <column name="ACCOUNT_ID" index="i_acctcard_acctid"></column> </many-to-many> </set>
customer(1)-(n)account(n)-card(n)
三张表分别:30万,60万,90万记录
Select * From card a,Account b,account_card c ,customer d Where a.card_number = '4518100348128286' And a.Id=c.card_id And b.Id=c.account_id And d.Id=a.customer_id And b.customer_Id = d.Id
这个查询如果在中间表account_card上不加索引将需要10s钟才能完成,加上索引后0.046s就搞定了。当然card_number肯定是得有索引的。
- 15:44
- 浏览 (2654)
- 评论 (3)
- 分类: Programming
- 进入论坛
- 相关推荐
评论
javadev
2007-04-29
数据库不同,索引也不一样,DB2建立索引后,还得运行runstat命令才起作用。
remanhu
2007-04-17
索引是一把双刃剑,用的好可以带来很大的收益,用的不好简直就是恶梦,所以并不是说所有地方都能使用,还是要实事求是的用
mercyblitz
2007-04-12
索引会大大的提高速度!
- 浏览: 382597 次
- 性别:

- 来自: 上海

- 详细资料
搜索本博客
我的相册
Gmail
共 8 张
共 8 张
最新评论
-
java encoding参考
Good ,thanks.
-- by zuowei -
有多少异常可以重来
我今天也遇到这个问题,才搜到这个帖子~ 还没有解决,等恢复哦
-- by javamanlcy007 -
有多少异常可以重来
这个错误解决了,又抱了别的错误~
-- by iceworld4143 -
有多少异常可以重来
解释不太懂,我也遇到这个问题了,可是我没用ant。 等回复。
-- by iceworld4143 -
考试不及格
证券从业资格考试
-- by eyejava






评论排行榜