The XtraDB/InnoDB storage engine uses row-level locking to
ensure data integrity. However some storage engines (such as
MEMORY, MyISAM, Aria and MERGE) lock the whole table to
prevent conflicts. These storage engines use two separate
queues to remember pending statements; one is for SELECTs
and the other one is for write statements (INSERT, DELETE,
UPDATE). By default, the latter has a higher priority.
 
To give write operations a lower priority, the
low_priority_updates server system variable can be set to
ON. The option is available on both the global and session
levels, and it can be set at startup or via the SET
statement.
 
When too many table locks have been set by write statements,
some pending SELECTs are executed. The maximum number of
write locks that can be acquired before this happens is
determined by the max_write_lock_count server system
variable, which is dynamic.
 
If write statements have a higher priority (default), the
priority of individual write statements (INSERT, REPLACE,
UPDATE, DELETE) can be changed via the LOW_PRIORITY
attribute, and the priority of a SELECT statement can be
raised via the HIGH_PRIORITY attribute. Also, LOCK TABLES
supports a LOW_PRIORITY attribute for WRITE locks.
 
If read statements have a higher priority, the priority of
an INSERT can be changed via the HIGH_PRIORITY attribute.
However, the priority of other write statements cannot be
raised individually.
 
The use of LOW_PRIORITY or HIGH_PRIORITY for an INSERT
prevents Concurrent Inserts from being used.
 


URL:
https://mariadb.com/kb/en/high_priority-and-low_priority/