将查询语句放到服务器命令行去跑,如果慢,则可以考虑通过添加索引来提高查询速度。
如已有索引或添加索引后查询速度仍未改善,查看语句执行计划中,是全表扫描还是走索引。如果走了索引,那就可能考虑是服务器性能瓶颈或数据库设置问题,涉及的设置项比较多,你没有提供相关信息,无法继续提供优化建议。如果没有走索引,检查语法(查询条件添加函数不走索引)和表属性(关联表字符集不统一不走索引)。
如果服务器本地快,但页面查询慢,那就排除了性能问题,考虑网络问题与页面查询语句调用的驱动模块是否有问题。检测网络连接速度,如慢尝试更换网线。网络连接速度正常,则尝试更换调用的驱动包,重新下一个或换一个版本。
mysql支持几十万的数据,响应速度应该是毫秒级的。
看了下你的语句,不要用IN了,改INNER JOIN吧,套那么多层IN,肯定没效率。
1,首先你要确定你在后台查出来的数据是否是你需要的,测试方法:可以把相关JPA中的sql语句放到mysql图形 *** 作界面查询。如果这里查出数据是你需要的,那么可以在调用方法的地方看看是否传的参数不对(参数位置传的不对应)。如果确定对:那么在此打印出你查出来的数据。对比之前在图形界面查出来的数据。看看是否一致。如果一致:确定是否将数据绑定到后台。2:以上都正确的话,检验JSF页面上遍历或者显示的变量名字是否与你后台绑定的变量名字相同。如果一样,检查JSF页面上是否有条件不然某些数据显示。3:如果还有问题可以再问我。我之前的工作环境也是JSF,JPA MYSQL很简单,不用你写代码,也不用你在Mysql去配置自增的主键。你新建一个测试工程,导入Hibernate,再配置Hibernate的数据库连接,找到你那个表,右击鼠标映射反转,在添加主键那里选择需要生成主键的字段,及生成主键的方式。这样Hibernate就自动帮你写了生成主键的方法,将这个方法拷贝到你原来的pojo就行了。。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)