When updating table metadata using PROC METALIB, or the Update Metadata menu item in SAS® Management Console or SAS® Data Integration Studio, you might experience a longer time to execute than when you initially registered the table.
When registering a new table, the process loads all columns as a single metadata DoRequest. The single request contains multiple updates. To illustrate, here is a representation of the request:
When updating an existing table in metadata, the process makes comparisons between attributes in metadata and attributes on the physical table. Changes for a column requiring an update are passed as a single DoRequest. To illustrate, here is a representation of the requests:
Each DoRequest requires an exclusive lock on the SAS® Metadata Repository in order to perform the update. These update requests might be interspersed with other requests coming in to the SAS® Metadata Server. Because of the additional work to perform the comparison, the requirement for multiple exclusive locks on metadata, the more real time the update step will take. The greater the number of columns requiring updating and the more overall activity on the SAS Metadata Server will increase the total time to perform the update.
In cases where a large number of columns need to be updated, consider deleting the table from metadata and registering it again as a new table. This can be a faster process overall. Be aware, however, that Data Integration Studio jobs rely on a table's objectId in metadata. Deleting and re–registering a table will cause the registered table to have a new objectId. You will have to rerun your jobs to use the new objectId for the table.
The following example demonstrates a programming technique using SAS Procedures to cause a table to be deleted from metadata, then added again. For this example, the Library Name in metadata is "My_Data_Library", the Libref is "MYLIB", and the table name is "My_Table".
Product Family | Product | System | SAS Release | |
Reported | Fixed* | |||
SAS System | SAS Metadata Server | z/OS | 9.1 TS1M3 | |
Microsoft® Windows® for 64-Bit Itanium-based Systems | 9.1 TS1M3 | |||
Microsoft Windows Server 2003 Datacenter 64-bit Edition | 9.1 TS1M3 | |||
Microsoft Windows Server 2003 Enterprise 64-bit Edition | 9.1 TS1M3 | |||
Microsoft Windows XP 64-bit Edition | 9.1 TS1M3 | |||
Microsoft Windows 2000 Advanced Server | 9.1 TS1M3 | |||
Microsoft Windows 2000 Datacenter Server | 9.1 TS1M3 | |||
Microsoft Windows 2000 Server | 9.1 TS1M3 | |||
Microsoft Windows 2000 Professional | 9.1 TS1M3 | |||
Microsoft Windows NT Workstation | 9.1 TS1M3 | |||
Microsoft Windows Server 2003 Datacenter Edition | 9.1 TS1M3 | |||
Microsoft Windows Server 2003 Enterprise Edition | 9.1 TS1M3 | |||
Microsoft Windows Server 2003 Standard Edition | 9.1 TS1M3 | |||
Microsoft Windows XP Professional | 9.1 TS1M3 | |||
Windows Vista | 9.1 TS1M3 | |||
Windows Vista for x64 | 9.1 TS1M3 | |||
64-bit Enabled AIX | 9.1 TS1M3 | |||
64-bit Enabled Solaris | 9.1 TS1M3 | |||
HP-UX IPF | 9.1 TS1M3 | |||
Linux | 9.1 TS1M3 |
Type: | Usage Note |
Priority: | |
Topic: | Data Management ==> Data Sources ==> Metadata |
Date Modified: | 2012-03-26 10:43:06 |
Date Created: | 2011-12-21 12:48:44 |