问一下数据库性能问题
现在我有两张表,表A是用户表,
表B是照片表,一个用户有多张照片.
表A现在的数据是18000多条.表B目前跟表A的数据差不多.
而且表B数据,有可能是表A的2至8倍。
因为一个用户最多可以上传8张照片.
我试过以下方法.都是很慢.用原生态的SQL 都要5至8分钟.才会搜出来.
不能用not in
用过 left join 也很慢。
not exists 也是。
请问有哪位高手对数据库有研究的提点一下.
我现在要求就是,找出没有用户头像的数据.
在表B中,有一个照片类型字段.picType 当他等于3的时候就是用户头像.
如果不等3的就是没有头像的用户. 而且HQL 该如何才能用 join 这类的连接查询?我现在多表查询都是用 from 表A,表B,数据一大的时候,效率太低了.
我用过join 一用就报错.是不是要配置什么呢?有高手提示一下吗?
现在我有两张表,表A是用户表,
表B是照片表,一个用户有多张照片.
表A现在的数据是18000多条.表B目前跟表A的数据差不多.
而且表B数据,有可能是表A的2至8倍。
因为一个用户最多可以上传8张照片.
我试过以下方法.都是很慢.用原生态的SQL 都要5至8分钟.才会搜出来.
不能用not in
用过 left join 也很慢。
not exists 也是。
请问有哪位高手对数据库有研究的提点一下.
我现在要求就是,找出没有用户头像的数据.
在表B中,有一个照片类型字段.picType 当他等于3的时候就是用户头像.
如果不等3的就是没有头像的用户. 而且HQL 该如何才能用 join 这类的连接查询?我现在多表查询都是用 from 表A,表B,数据一大的时候,效率太低了.
我用过join 一用就报错.是不是要配置什么呢?有高手提示一下吗?
解决方案 »
- [求助]quartz框架Scheduler的Job调度的类中可以使用session吗?
- 问一下实际项目中关于异常的处理的方法,谢谢
- 求助!急急急--javamail发送邮件时候连接不上smtp host
- Struts 在ACTION 里 返回上一页面应该怎么做
- webwork中怎么在interceptor中得到正运行的action 的名字???
- 想请教一下各位web service高手,有没有必要看w3c的wsdl规范阿?
- 关于struts中的<html:select和<html:option中怎么确定缺省选项??(在线等待)
- EJB部署问题,除了weblogic,还可以在哪些服务器上配EJB2.0
- 谁有JAVA的类库详解或下载地址?
- SpringMvc报错求帮助啊,大神们
- 如何在hibernate criteria 查询条件里日期+天数 同 当天比较
- 请教一个关于微软的问题
用户表主键. m.id 照片表中有一个字段p.flagId 来存放用户表的主键(也有可能是别的表主键),所以又用一个字段picType来区分,如果这个类型为3时,就肯定是用户的头像.而p.flagId,就一定是用户ID.一.当用户注册时,他有可选择上传或不上传照片.当然上传一张照片(用户自定义头像照片)时,照片表就会加一条数据.且p.flagId,就一定是m.id 且picType就是3.这时我们就要关联查出,不存在于照片表的信息.因为这样子的用户,肯定是没有头像的.
二.当用户上传了照片.但是他没有上传自定义头像的照片.他可以上传自己的生活照片.这时,p.flagId也还是用m.id但是picType就不会是3
这时我们就要关联查出,存在于照片表,但是照片类型不等于3的用户.(这里要注意一点,如果用户他又上传了自定义头像并且也上传了个人生活照片的,这样的用户就要过滤.).用户最多上传8张照片.可想而知,数据量大时,真的太慢了.所以才请教各位,有什么好方式.最好是用hibernate实现,程序比较好维护.最后,如何让hibernate实现join 这样的联接查询,该如何配置.