What is work_men?
This parameter determines how much memory is allocated to in-memory sort operation. If high values is set, then the query will execute very fast compared with
using disk-based sort. By default it is set to be 1 MB. It is a parameter of per-sort rather than per-client.
In case a query containing more than one sort operations, the actual memory required will be work_mem times the number of. It is difficult to predict how many sort operations are needed per client.
sort operations
One way to calculate suitable value is to see how much free RAM is around after shared_buffers is allocated, divide by max_connections, and then take a part of that figure and then divided by two. Sort operations include ORDER BY, DISTINCT, GROUP BY, UNION AND merge joins.
Assuming you have a postgresql Database and you want to perform an in-memory sort operation, you can set work-men to 2 MB.
SET work_mem = '2MB';
This allocates more memory for the sort operation, making the query execute faster.
Top comments (0)