日期:2011-01-25 23:11:00 来源:本站整理
SQL中的n+1次select语句查询问题(1)[MSSQL防范]
本文“SQL中的n+1次select语句查询问题(1)[MSSQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
假如当SQL数据库中select语句数目过量,就会影响数据库的性能,假如需求查询n个Customer对象,那么必须履行n+1次select查询语句,下文就将为您讲授这个n+1次select查询问题.
在Session的缓存中存放的是彼此关联的对象图.默许情形下,当Hibernate从数据库中加载Customer对象时,会同时加载全部关联的Order对象.以Customer和Order类为例,假定ORDERS表的CUSTOMER_ID外键答应为null,图1列出了CUSTOMERS表和ORDERS表中的记录.
以下Session的find()办法用于到数据库中检索全部的Customer对象:
List customerLists=session.find("from Customer as c");
运行以上find()办法时,Hibernate将先查询CUSTOMERS表中全部的记录,然后按照每条记录的ID,到ORDERS表中查询有参照关系的记录,Hibernate将顺次履行以下select语句:
select * from CUSTOMERS;
select * from ORDERS where CUSTOMER_ID=1;
select * from ORDERS where CUSTOMER_ID=2;
select * from ORDERS where CUSTOMER_ID=3;
select * from ORDERS where CUSTOMER_ID=4;
以上是“SQL中的n+1次select语句查询问题(1)[MSSQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |
评论内容只代表网友观点,与本站立场无关!
评论摘要(共 0 条,得分 0 分,平均 0 分)
查看完整评论