What is true regarding InnoDB locking?
A.
InnoDB uses row and table-level locks, but row locks are not escalates,
B.
InnoDB locks only those rows that are updated.
C.
InnoDB only uses row locks, not page or table-level locks,
D.
InnoDB row locks may be escalated to page or table-level locks.
E.
InnoDB uses row-level or table-level locks depending on the number of rows affected.
B
E
Intention Locks
Additionally, InnoDB supports multiple granularity locking which permits coexistence of record locks and locks on entire tables. To make locking at multiple granularity levels practical, additional types of locks called intention locks are used. Intention locks are table locks in InnoDB that indicate which type of lock (shared or exclusive) a transaction will require later for a row in that table. There are two types of intention locks used in InnoDB (assume that transaction T has requested a lock of the indicated type on table t):
b
B is not true. Read locks are also granted.
D is not true. MySQL/Oracle do not use lock escalation.
E is correct
Answer Should be ‘A’