我们有一个Sybase数据库,我们用一个非常简单的查询来查询。Sybase/hibernate数据库性能
Select * from ts_logs where time_sheet_id = 1234
表有大约110万条记录,并直到4天前就已经进行大约半秒钟一个非常快速的查询。
我们的应用程序使用hibernate和sql输出显示完全相同的查询。截至三天前,我们注意到性能下降了很多,查询现在需要9到11秒才能执行。
我们尝试在NetBeans数据库可视化工具中运行查询,发现相同的性能问题。我们最初开始确定这是一个数据库性能问题,并决定在dbvisualizer中进一步诊断问题,但令我们意外的是dbvisualizer在不到半秒的时间内执行了同样的确切查询。
我们在每个环境中都使用jtds 1.3。
在所有环境中都有相同的数据库。
在所有环境中都有相同的查询。
什么可能导致在hibernate/netbeans中的性能瓶颈,但不是dbvisualizer?想看下一个地方的任何想法?
CREATE TABLE ts_log (id numeric identity(19) NOT NULL GENERATED ALWAYS AS IDENTITY, log_comment varchar(2500), log_entry varchar(2500) NOT NULL, time_sheet_id numeric(19) NOT NULL, PRIMARY KEY (id));
查询返回多少行?也许DbVisualizer不显示它们和NetBeans。或DbVisualizer不显示所有内容。请[编辑]你的问题,并为有问题的表添加'create table'语句。在所有四种环境中,您是否使用**完全相同的**参数作为连接URL? –
用create语句更新了问题。 NetBeans上的默认值为1000行,返回的实际行总数为2.所有环境中的相同url。 –