1. A method implemented in a computer, the method comprising: generating an array update operation based on a query to update a relational database; wherein said array update operation specifies a plurality of row-identifier and value pairs to update multiple rows in a table of said relational database; repeatedly finding, and storing in a structure, a block-identifier of a block that contains a row of data identified by a row-identifier in at least a group of row-identifier and value pairs in said plurality, by use of a database index prior to retrieval of the block; wherein said structure is located in a memory of said computer; wherein each value comprises data to be updated in said row identified by said row-identifier; performing a single access operation without context switching, to retrieve from a storage device and to store in a cache, a plurality of blocks of data of said table, said blocks being identified by a corresponding plurality of block-identifiers in the structure; wherein several of said blocks are non-contiguous in said storage device; and repeatedly updating, in blocks in the cache, each row identified in the group of row-identifier and value pairs, using a corresponding value in the row-identifier and value pairs; and sorting the block-identifiers, prior to retrieval of the blocks by performing the single access operation.