LOW_PRIORITY is a MySQL and MariaDB keyword that can be prefixed to INSERT, REPLACE, UPDATE, DELETE, or SELECT statements. When specified, the statement does not immediately request the lock it normally needs. Instead, it waits until other sessions have released conflicting locks, giving existing traffic precedence.For modification statements, LOW_PRIORITY delays the acquisition of the write lock until there are no pending read requests on the table. This reduces read blocking at the cost of slower writes. For SELECT, it yields to pending writes so that long-running analytics queries do not starve transactional updates.With InnoDB, which uses row-level locks, the effect is limited because InnoDB already allows concurrent reads and writes. LOW_PRIORITY still controls the order in which the lock metadata is granted, but only when a higher granularity lock (such as AUTO-INC or metadata lock) is required.LOW_PRIORITY has no impact inside explicit transactions that already hold locks, and it is ignored by most other database engines. It cannot be combined with HIGH_PRIORITY in the same statement.
HIGH_PRIORITY, INSERT DELAYED, LOCK TABLES, SELECT ... FOR UPDATE, NOWAIT, SKIP LOCKED
MySQL 3.22
INSERT, REPLACE, UPDATE, DELETE, and SELECT in MySQL and MariaDB accept the modifier.
Yes. The statement waits for other sessions to finish, so its start time can be delayed. The execution speed after the lock is granted is unchanged.
Often. Reporting replicas can run long SELECT LOW_PRIORITY queries without impacting asynchronous replication writes.
Simply delete the keyword. The statement reverts to default lock acquisition behavior.