我正在尝试在我的应用程序中增加某些INSERT语句的执行优先级。以下是这些陈述的外观
INSERT HIGH_PRIORITY INTO tbl values(......)
到目前为止,这么好。当我在服务器上运行mtop(数据库所在的位置)时,我看到具有HIGH_PRIORITY关键字的查询仍在执行队列中,并且它们正在等待执行其他查询。
如何更好地优先处理我的查询?
答案 0 :(得分:0)
如果使用MySQL服务器引擎5.1或更高版本,这就是原因,根据文档:
如果指定HIGH_PRIORITY,它将覆盖效果 - 如果使用该选项启动服务器,则为--low-priority-updates选项。它还会导致不使用并发插入。
LOW_PRIORITY和HIGH_PRIORITY仅影响使用的存储引擎 只有表级锁定(例如MyISAM,MEMORY和MERGE)。
我假设您使用InnoDB存储引擎,考虑至少为这些特定表更改它。见http://dev.mysql.com/doc/refman/5.1/en/insert.html