Executing other statement types

The same basic execution logic is used to handle all four of the basic SQL query types: SELECT, INSERT, UPDATE, and DELETE. For example, when doing an UPDATE, the identified rows to update are found in a familiar way and then fed to an Update node:

EXPLAIN ANALYZE UPDATE customers SET state=state WHERE customerid=1;
QUERY PLAN
----------
Update  (cost=0.00..0.28 rows=1 width=274) (actual time=63.289..63.289 rows=0 loops=1)
   ->  Index Scan using customers_pkey on customers  (cost=0.00..0.28 rows=1 width=274) (actual time=0.054..0.063 rows=1 loop
s=1)
         Index Cond: (customerid = 1)
 Total runtime: 63.415 ms

UPDATE and DELETE can execute efficiently by keeping track of the tuple ID uniquely identifying each of the rows ...

Get PostgreSQL 9.0 High Performance now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.