Patent ID: 9244959
Filing Date: 2016-01-26
CPC Classification: G06F

Claim Text:
1. A method for comparing the performance of databases executing comparable production workloads, each production workload including database transactions, each database transaction including one or more database operations, each production workload having an associated log file containing records recording the executions on a computer of the database operations, each log file record including a transaction identifier, a database operation statement type, the host variables in the database operation statement, database operation execution information, and an end-of-transaction indicator indicating if the record is the end-of-transaction record of the transaction to which the database operation belongs, of the method comprising: sequentially reading the database operation records from two or more log files; in response to determining that the transaction identifier in a database operation record read from a log file has not been included in any previous database operation record read from the log file, and determining that the database operation record is not an end-of-transaction record, creating a list entry associated with the transaction identifier and the database operation record in an open transactions data structure; in response to determining that the transaction identifier in a database operation record read from a log file has not been included in any previous database operation record read from the log file, and determining that the database operation record is an end-of-transaction record, creating a list entry in the transaction type data structure associated with the database operation statement type and the host variables in the database operation statement, and including database operation execution information in a set of data fields in the entry associated with the log file, or updating such a list entry if such an entry exists and including such information in the set of data fields in the entry associated with the log file; in response to determining that the transaction identifier in a database operation record read from a log file has been included in a previous database operation record read from the log file, and determining that the database operation record is not an end-of-transaction record, updating the list entry associated with the database operation statement type and the host variables in the database operation statement in the open transactions data structure, and including database operation execution information in a set of data fields in the entry associated with the log file; in response to determining that the transaction identifier in a database operation record read from a log file has been included in a previous database operation record read from the log file, and determining that the database operation record is an end-of-transaction record, creating a list entry associated with the database operation statement type and the host variables in the database operation statement in the transaction type data structure, and including database operation execution information in a set of data fields in the entry associated with the log file, or updating such a list entry if such an entry does not exist and including such information in the set of data fields in the entry associated with the log file; and in response to determining that the last record from all of the two or more log files has been read, performing an analytical comparison between the information associated with two or more of the log files in data fields in a list entry in the transaction type data structure.