See Also connection, host, SSL. 

## prefix 

See index prefix. 

## prepared backup 

 A set of backup files, produced by the MySQL Enterprise Backup  product, after all the stages of applying binary logs  and incremental backups  are finished. The resulting files are ready to be restored . Prior to the apply steps, the files are known as a raw backup . 

See Also binary log, hot backup, incremental backup, MySQL Enterprise Backup, raw backup, restore. 

## prepared statement 

 An SQL statement that is analyzed in advance to determine an efficient execution plan. It can be executed multiple times, without the overhead for parsing and analysis each time. Different values can be substituted for literals in the WHERE  clause each time, through the use of placeholders. This substitution technique improves security, protecting against some kinds of SQL injection attacks. You can also reduce the overhead for converting and copying return values to program variables. 

Although you can use prepared statements directly through SQL syntax, the various Connectors  have programming interfaces for manipulating prepared statements, and these APIs are more efficient than going through SQL. 

See Also client-side prepared statement, connector, server-side prepared statement. 

## primary key 

 A set of columns—and by implication, the index based on this set of columns—that can uniquely identify every row in a table. As such, it must be a unique index that does not contain any NULL  values. 

InnoDB  requires that every table has such an index (also called the clustered index  or cluster index ), and organizes the table storage based on the column values of the primary key. 

When choosing primary key values, consider using arbitrary values (a synthetic key ) rather than relying on values derived from some other source (a natural key ). 

See Also clustered index, index, natural key, synthetic key. 

## process 

 An instance of an executing program. The operating system switches between multiple running processes, allowing for a certain degree of concurrency . On most operating systems, processes can contain multiple threads  of execution that share resources. Context-switching between threads is faster than the equivalent switching between processes. 

See Also concurrency, thread. 

## pseudo-record 

 An artificial record in an index, used for locking  key values or ranges that do not currently exist. 

See Also infimum record, locking, supremum record. 

## Pthreads 

 The POSIX threads standard, which defines an API for threading and locking operations on Unix and Linux systems. On Unix and Linux systems, InnoDB  uses this implementation for mutexes . 

See Also mutex. 

## purge 

 A type of garbage collection performed by one or more separate background threads (controlled by innodb_purge_threads ) that runs on a periodic schedule. Purge parses and processes undo log  pages from the history list  for the purpose of removing clustered and secondary index records that were marked for deletion (by previous DELETE  statements) and are no longer required for MVCC  or rollback . Purge frees undo log pages from the history list after processing them. 

