数据插入的优先级
- 更改数据的语句(INSERT, UPDATE, DELETE) 的优先级高于查询语句(SELECT)
- 当服务器执行一个更改语句时,会锁住相关的表,排斥其他操作的访问,直到执行完成
- 锁表导致其他操作的延迟
- 有的数据库管理系统是锁住行,而不是锁住表,如 InnoDB
调低更改数据语句的优先级
INSERT LOW_PRIORITY INTO [table name]
...;
- 这条语句使得 INSERT 操作排到最后执行,即没有其他操作时,才执行
- 若 INSERT 语句准备执行时(还没被执行),有另外一个新的操作请求,那么,新的操作请求会优先被执行,INSERT 语句又要等一下了
- 即使是低优先级的 INSERT 语句,在执行的过程中,也是不会被中断的
延迟插入
DELAYED
关键字,在 MySQL v5.5.6 不提倡使用,忽略了
提升更改语句的优先级
- 在 MySQL 配置中,可以配置
--low-priority-updates
来默认设定更改语句的优先级
- 使用
INSERT HIGH_PRIORITY...
可以覆盖上述的默认优先级