技术文章 - CS157973

在 Windchill PDMLink 中的“添加到工作区”操作期间缓慢执行 StringValue 查询

已修改: 01-Feb-2023   


注意:本文已使用机器翻译软件翻译,以方便非英语客户阅读。但翻译内容可能包含语法错误或不准确之处。请注意, PTC对本文所含信息的翻译准确性及使用后果不承担任何责任。请在 此处 查看本文的英文原始版本以便参考。有关机器翻译的更多详情,请单击 此处
感谢您告诉我们。我们将尽快审阅此译文。

适用于

  • Creo Parametric 1.0 to 5.0
  • Windchill PDMLink 8.0 to 12.1
  • Microsoft SQL Server
  • Oracle Database 12c and above

说明

  • 甲骨文
    • 从 CREO 向工作区添加对象很慢
  • 数据库服务器
    • 无法从 CREO 将对象添加到工作区
    • “添加到工作区”操作挂起
    • MS SQL Server 中的 Tempdb 极大地增加了填充分区的最大大小
    • 由于 Tempdb 已满,MS SQL Server 挂起
  • 执行不佳的 SQL:
SELECT 'wt.iba.value.StringValue',A0.classnamekeyA5,A0.idA3A5,A0.hierarchyIDA6,A0.classnamekeyA6,A0.idA3A6,A0.classnamekeyA4,A0.idA3A4,CONVERT(varchar,A0.createStampA2,120),A0.markForDeleteA2,CONVERT(varchar,A0.modifyStampA2,120),A0.idA2A2,A0.updateCountA2,CONVERT(varchar,A0.updateStampA2,120),A0.value,A0.value2,A0.idA3A6 r
FROM StringValue A0
  WHERE ((((A0.idA3A6 IN (?,?,?,?,?)) 
    AND (A0.idA3A4 IN (SELECT item FROM #wtarray2899313225)))))
SELECT'wt.iba.value.StringValue',A0.classnamekeyA5,A0.idA3A5,A0.hierarchyIDA6,A0.classnamekeyA6,A0.idA3A6,A0.classnamekeyA4,A0.idA3A4,CONVERT(varchar,A0.createStampA2,120),A0.markForDeleteA2,CONVERT(varchar,A0.modifyStampA2,120),A0.idA2A2,A0.updateCountA2,CONVERT(varchar,A0.updateStampA2,120),A0.value,A0.value2,A0.idA3A6 r
FROM StringValue A0 
  WHERE ((((A0.idA3A6 IN(@P0,@P1,@P2,@P3,@P4)) 
    AND (A0.idA3A4 IN (SELECT item FROM #wtarray_NUMBER_0_200)))))
SELECT 'wt.iba.value.StringValue',A0.classnamekeyA5,A0.idA3A5,A0.hierarchyIDA6,A0.classnamekeyA6,A0.idA3A6,A0.classnamekeyA4,A0.idA3A4,CONVERT(varchar,A0.createStampA2,120),A0.markForDeleteA2,CONVERT(varchar,A0.modifyStampA2,120),A0.idA2A2,A0.updateCountA2,CONVERT(varchar,A0.updateStampA2,120),A0.value,A0.value2,A0.idA3A6 r 
FROM StringValue A0 
  WHERE ((((A0.idA3A6 IN (@P0,@P1,@P2,@P3,@P4,@P5,@P6,@P7,@P8,@P9)) 
    AND (A0.idA3A4 IN (SELECT item FROM #wtarray_NUMBER_0_1000)))))
  • 堆栈跟踪显示查询来自 wt.epm.download.cache.familytable.AttributeValueCacheHandler.init() 方法:
"ajp-bio-8010-exec-19" Id=2127 RUNNABLE (in native)
      Blocked (cnt): 1862; Waited (cnt): 464
  at java.net.SocketInputStream.socketRead0(Native Method)
  at java.net.SocketInputStream.read(SocketInputStream.java:152)
  at java.net.SocketInputStream.read(SocketInputStream.java:122)
  at com.microsoft.sqlserver.jdbc.TDSChannel.read(IOBuffer.java:1782)
  at com.microsoft.sqlserver.jdbc.TDSReader.readPacket(IOBuffer.java:4838)
  at com.microsoft.sqlserver.jdbc.TDSCommand.startResponse(IOBuffer.java:6150)
  at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(SQLServerPreparedStatement.java:402)
  at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement$PrepStmtExecCmd.doExecute(SQLServerPreparedStatement.java:350)
  at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:5696)
  at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1715)
  at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:180)
  at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:155)
  at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.executeQuery(SQLServerPreparedStatement.java:285)
  at wt.pds.AbstractResultCursor.executeQuery(AbstractResultCursor.java:559)
  at wt.pds.AbstractResultCursor.executeQuery(AbstractResultCursor.java:523)
  at wt.pds.BasicResultCursor.getNextResultSet(BasicResultCursor.java:282)
  at wt.pds.BasicResultCursor.advance(BasicResultCursor.java:234)
  at wt.pds.BasicResultCursor.next(BasicResultCursor.java:82)
  at wt.pds.SQLDatabasePds.query(SQLDatabasePds.java:853)
  at wt.pom.PersistentObjectManager.query(PersistentObjectManager.java:1111)
  at wt.fc.StandardPersistenceManager._query(StandardPersistenceManager.java:1983)
  at wt.fc.StandardPersistenceManager._find(Standard
这是文章 157973 的 PDF 版本,可能已过期。最新版本 CS157973