当前位置: 代码迷 >> MySQL >> mysql事务处理跟锁机制
  详细解决方案

mysql事务处理跟锁机制

热度:73   发布时间:2016-05-05 16:59:38.0
mysql事务处理和锁机制
1.3.如何避免锁的资源竞争1 )让 SELECT 速度尽量快,这可能需要创建一些摘要表。2 )启动 mysqld 时使用参数 --low-priority-updates 。这就会让更新操作的优先级低于 SELECT 。这种情况下,在上面的假设中,第二个 SELECT 就会在 INSERT 之前执行了,而且也无需等待第一个 SELECT 了。3 )可以执行 SET LOW_PRIORITY_UPDATES=1 命令,指定所有的更新操作都放到一个指定的链接中去完成。4 )用 LOW_PRIORITY 属性来降低 INSERT , UPDATE , DELETE 的优先级。5 )用 HIGH_PRIORITY 来提高 SELECT 语句的优先级。6 )从 MySQL 3.23.7 开始,可以在启动 mysqld 时指定系统变量 max_write_lock_count 为一个比较低的值,它能强制临时地提高表的插入数达到一个特定值后的所有 SELECT 操作的优先级。它允许在 WRITE 锁达到一定数量后有 READ 锁。7 )当 INSERT 和 SELECT 一起使用出现问题时,可以转而采用 MyISAM 表,它支持并发的 SELECT 和 INSERT 操作。8 )当在同一个表上同时有插入和删除操作时, INSERT DELAYED 可能会很有用。9 )当 SELECT 和 DELETE 一起使用出现问题时, DELETE 的 LIMIT 参数可能会很有用。10 )执行 SELECT 时使用 SQL_BUFFER_RESULT 有助于减短锁表的持续时间。11 )可以修改源代码 `mysys/thr_lock.c' ,只用一个所队列。这种情况下,写锁和读锁的优先级就一样了,这对一些应用可能有帮助。


[url]
http://blog.csdn.net/forever_feng/article/details/4368003
[/url]
  相关解决方案