技术文章 - CS331829

在 Windchill PDMLink 中删除具有日期有效性的 WTPart 很慢

已修改: 09-Mar-2022   


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

适用于

  • Windchill PDMLink 11.0 to 12.0

说明

  • 删除零件的性能问题
  • 下面的 SQL 每次执行需要 40 秒
SELECT 'wt.effectivity.WTDatedEffectivity',A0.administrativeLockIsNull,A0.typeadministrativeLock,A0.classnamekeycreationReferenc,A0.idA3creationReference,A0.classnamekeydeletionReferenc,A0.idA3deletionReference,A0.classnamekeyeffContextRefere,A0.idA3effContextReference,A0.effTypeModifier,TO_CHAR(A0.endrange,'dd mm yyyy hh24:mi:ss'),TO_CHAR(A0.startrange,'dd mm yyyy hh24:mi:ss'),A0.classnamekeystandardTargetRe,A0.idA3standardTargetReference,A0.branchIdA3targetReference,A0.classnamekeytargetReference,TO_CHAR(A0.createStampA2,'dd mm yyyy hh24:mi:ss'),A0.markForDeleteA2,TO_CHAR(A0.modifyStampA2,'dd mm yyyy hh24:mi:ss'),A0.idA2A2,A0.updateCountA2,TO_CHAR(A0.updateStampA2,'dd mm yyyy hh24:mi:ss') 
FROM WTDatedEffectivity A0 
  WHERE ((A0.idA3effContextReference = :1 ))
  • 上述查询的堆栈跟踪:
"ajp-nio-127.0.0.1-8010-exec-237" Id=312176 RUNNABLE (in native)
      Blocked (cnt): 8113; Waited (cnt): 20694
  at sun.nio.ch.FileDispatcherImpl.read0(Native Method)
  at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:39)
  at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)
  at sun.nio.ch.IOUtil.read(IOUtil.java:197)
  at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:380)
  at oracle.net.nt.TimeoutSocketChannel.read(TimeoutSocketChannel.java:178)
  at oracle.net.ns.NSProtocolNIO.doSocketRead(NSProtocolNIO.java:544)
  at oracle.net.ns.NIOPacket.readHeader(NIOPacket.java:234)
  at oracle.net.ns.NIOPacket.readPacketFromSocketChannel(NIOPacket.java:174)
  at oracle.net.ns.NIOPacket.readFromSocketChannel(NIOPacket.java:122)
  at oracle.net.ns.NIOPacket.readFromSocketChannel(NIOPacket.java:100)
  at oracle.net.ns.NIONSDataChannel.readDataFromSocketChannel(NIONSDataChannel.java:86)
  at oracle.jdbc.driver.T4CMAREngineNIO.prepareForUnmarshall(T4CMAREngineNIO.java:762)
  at oracle.jdbc.driver.T4CMAREngineNIO.unmarshalUB1(T4CMAREngineNIO.java:427)
  at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:394)
  at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:255)
  at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:610)
  at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:253)
  at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:86)
  at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:765)
  at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:921)
  at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1099)
  at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3640)
  at oracle.jdbc.driver.T4CPreparedStatement.executeInternal(T4CPreparedStatement.java:1384)
  at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3687)
  at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1165)
  at wt.pds.AbstractResultCursor.executeQuery(AbstractResultCursor.java:582)
  at wt.pds.AbstractResultCursor.executeQuery(AbstractResultCursor.java:540)
  at wt.pds.BasicResultCursor.getNextResultSet(BasicResultCursor.java:385)
  at wt.pds.BasicResultCursor.advance(BasicResultCursor.java:337)
  at wt.pds.BasicResultCursor.next(BasicResultCursor.java:132)
  at wt.pds.SQLDatabasePds.query(SQLDatabasePds.java:810)
  at wt.pom.PersistentObjectManager.query(PersistentObjectManager.java:1076)
  at wt.pom.PersistentObjectManager.query(PersistentObjectManager.java:985)
  at wt.fc.StandardPersistenceManager._query(StandardPersistenceManager.java:1972)
  at wt.fc.StandardPersistenceManager.query(StandardPersistenceManager.java:1465)
  at wt.fc.StandardPersistenceManager.query(StandardPersistenceManager.java:1123)
  at wt.eff.StandardEffService.expandFKs(StandardEffService.java:1807)
  at wt.eff.StandardEffService.checkIfEffFormExistForEffContext(StandardEffService.java:1599)
  at wt.eff.StandardEffService.access$200(StandardEffService.java:195)
  at wt.eff.StandardEffService$1.notifyVetoableMultiObjectEvent(StandardEffService.java:1417)
  at wt.events.StandardKeyedEventBranch.intDispatchEvent(StandardKeyedEventBranch.java:306)
  at wt.events.StandardKeyedEventBranch.dispatchVetoableMultiObjectEvent(StandardKeyedEventBranch.java:268)
  at wt.events.StandardKeyedEventDispatcher.intDispatchEvent(StandardKeyedEventDispatcher.java:306)
  at wt.events.StandardKeyedEventDispatcher.dispatchVetoableMultiObjectEvent(StandardKeyedEventDispatcher.java:244)
  at wt.services.StandardManagerService.intDispatchVetoableEvent(StandardManagerService.java:412)
  at wt.services.StandardManagerService.dispatchVetoableMultiObjectEvent(StandardManagerService.java:314)
  at wt.fc.StandardPersistenceManager.dispatchVetoableEvent(StandardPersistenceManager.java:2976)
  at wt.fc.StandardPersistenceManager.dispatchVetoableEvent(StandardPersistenceManager.java:2959)
  at wt.fc.StandardPersistenceManager.remove(StandardPersistenceManager.java:2266)
  at wt.fc.StandardPersistenceManager.remove(StandardPersistenceManager.java:1764)
  at wt.fc.StandardPersistenceManager.delete(StandardPersistenceManager.java:851)
这是文章 331829 的 PDF 版本,可能已过期。最新版本 CS331829