解决方案 »
- 求大神帮忙,JSP+Servlet 问题
- Hibernate映射文件无法更新到数据....
- 菜鸟之CVS版本控制器问题
- 简单的注册页面,发现数据提示保存成功,可是在\WebRoot\WEB-INF\classes下的user.xml里找不到!高手来!
- lucene3对结果按照个人意愿排序
- xhtml里面的js错误,急,在线等
- Struts2工作原理
- 初学java都会遇到的问题
- post提交上传文件后变成了get提交
- 关于用smartupload上传图片到服务器的问题,在本机用tomcat没问题,可是上传到百度开发者平台之后就说路径不正确了
- 大家进来看看,小问题!
- Hibernate中通过ID获取对象的问题
如果是100w的数据,建议你分块、分区保存,检索的时候根据用户权限分开即可
同意。再使EXPLAIN查看下执行计划,瓶颈应该会更加清楚。
1.查总行数
2.查n~n+x条数据。
问有没有办法精简对吧?
---------------------
我能想到的也仅仅是count(id),步骤方面我也想不到还有什么精简方法,我在项目中也是有这两步。
同楼主问,关注。
可能是你的查询语句的效率太低,特别是你使用Hibernate的时候!
你也别说你用了默认索引,即使在这样的情况下也有可能导致索引失效,
这些你都找点资料看吧,有些讲的也都很好!
类似 select * from Users where name='abc' 这种查询效率也很低?
我并没有使用模糊查询啊!!
默认索引会失效?那如何能保证默认索引不失效呢?
而且iBATIS就算有优势,也应该各有利弊吧
COUNT(ID)确实比COUNT(*)效率高,但是一个项目中要进行分页的表不仅仅只是一个。如果以ID为统计数的话,那就意味通用分页还得对外要求一个主键字段的参数。个人认为每次查询的时候都需要count一次操作,始终不是个好方法。就算count的字段数只有一个的时候,它也是进行1KW次的行扫描!!
目前而言,这个建议似乎具有一定的可行性
这是无法忽略的操作!!
你现在只看1KW条记录的时候。1KW条记录总是一条一条增长上来的吧?
难不成你还根据数目进行是否该忽略的条件判断?
不仅是添加时不能忽略,而且删除操作也不能忽略!!
至於SQL上優化上面的已經說得差不多了,不再廢話了。
設計上的優化,分區分表建索引。
比如:我有1000W條記錄,就可以分為兩張表去存,每張500W記錄。數據的計總可以單獨放一張表裡,可以建觸發器(或用程式控制)去自動增加或減少。這樣的話無論有多少條數據,統計的時間就只有查詢一張小表的時間。
唉,方法有很多種,好好想想,找尋一個適合的吧,祝你好運。
比如说搜索有按部门分类,按产品分类,按XX分类,按YY分类。当用户单独输入按部门分类或者按产品分类那没问题,一组合那怎么办。。每个排列都得统计数量
换JDBC算了 注意优化sql语句good luck
呵呵 减少访问次数,优化sql语句支持
优化Sql吧...
经本人测试:count(1)和count(*)效率是一样的!!!
这个于常理不一样!
还有就是,关于分页,我还是那个建议,既然用了Hibernante就用缓存,二级缓存!
建议用PAGE 那个类