Industrial Data Management
PI System Tips

Leveraging PI System's picomp2 Table for Efficient Time-Stamp Retrievals

Learn how to efficiently retrieve the timestamp of the last good value for a large list of tags in the PI System using picomp2 table for optimized data handling.

Roshan Soni

4 min read

Leveraging PI System's picomp2 Table for Efficient Time-Stamp Retrievals

In the world of industrial operations and monitoring, data efficiency is key, especially when dealing with extensive datasets in systems like OSIsoft PI. A common task for PI System users is retrieving the timestamp of the last good value across numerous tags. This task can become complicated when scaling from a handful to potentially thousands of tags. Here's how you can efficiently manage this within PI's ecosystem.

The Conventional Approach and Challenges

A typical SQL query designed to extract the timestamp of the last good value would look something like this:

SELECT tag, MAX("time") as Last_timestamp 
FROM picomp 
WHERE tag IN (SELECT tag FROM pipoint WHERE pointsource ='X' AND tag LIKE 'BIO:%') 
AND status = 0 
GROUP BY tag

This approach works seamlessly for a small number of tags, but as the number grows, users often encounter performance issues or errors related to event collection limits—like the one described by error code [-11091].

Optimizing with picomp2

A more sophisticated solution is to switch from picomp to the picomp2 table. The picomp2 table is optimized for such queries, particularly due to its ability to utilize the TOP clause, optimizing data retrieval and filtering operations on the server side.

Here's the optimized query syntax:

SELECT TOP 1 tag, time, value 
FROM picomp2 
WHERE tag IN (SELECT tag FROM pipoint WHERE pointsource ='X' AND tag LIKE 'BIO:%') 
AND status = 0 
ORDER BY tag, time DESC

Why picomp2?

The crucial difference with picomp2 is its efficiency in handling ordered data retrieval. By using the TOP 1 clause, picomp2 quickly narrows down the dataset to the most relevant entries (i.e., the last good value per tag) without overwhelming the network transfer or client-side processing.

This adjustment not only resolves the issue of event collection limits but also significantly enhances query performance—making it ideal for large batches of data.

Implementing the Solution

  • Review Your Tag Selection: Ensure your tag list sharpens focus on necessary datasets;

  • Replace MAX with TOP 1: Utilize server-side efficiencies without excess data backhaul;

  • Test and Validate: Always validate your results against your operational data requirements.

By embracing these tweaks, you can maintain operational insight effortlessly, even amidst the vast data landscapes common in modern production environments. Leverage OSIsoft PI's powerful infrastructure with a strategic approach and maximize your system's potential.

Conclusion

Data management in large-scale systems requires strategic choices in query design and data retrieval methodologies. By optimizing queries with the right tables and clauses, you can overcome typical performance hurdles and maintain robust, scalable operations. Transition your queries to picomp2 and experience enhancements in both performance and reliability, keeping your systems agile and responsive.


Tags

#OSIsoft PI
#PI System
#SQL Queries
#Event Collection
#Data Optimization

About Roshan Soni

Expert in PI System implementation, industrial automation, and data management. Passionate about helping organizations maximize the value of their process data through innovative solutions and best practices.

Sign in to comment

Join the conversation by signing in to your account.

Comments (0)

No comments yet

Be the first to share your thoughts on this article.

Related Articles

Developing Expertise in PI System and Related Technologies: A Comprehensive Training Roadmap

This blog outlines a comprehensive training roadmap for developing expertise in the PI System and related technologies. Structured over four weeks, the program covers essential technologies like the PI System, Asset Framework, and various APIs, providing a strong foundation for data management and analytics.

Roshan Soni

Traversing an AF Database Hierarchy to Count All Elements Using OSIsoft AF SDK

Learn how to use the OSIsoft AF SDK in C# to traverse an AF database and count all elements within its hierarchy. This blog post provides a comprehensive guide with code examples for connecting, traversing, and counting AF elements.

Roshan Soni

A Beginner's Guide to Learning the OSIsoft PI System

Unlock the power of real-time data management and analytics with OSIsoft PI System. This beginner's guide provides a structured learning path and key resources to help you effectively learn the PI System.

Roshan Soni