| 设为首页 加入收藏 |
当前位置: |
| TOP | |||||||||||
|
Mysql中那些锁机制之MyISAM(二)
? 需要注意的: 并发插入是解决对同一表中的查询和插入的锁争用。 如果对有空洞的表进行并发插入会产生碎片,所以在空闲时可以利用optimize table命令回收因删除记录产生的空洞。 锁调度? 在MyISAM中当一个进程请求某张表的读锁,而另一个进程同时也请求写锁,Mysql会先让后者获得写锁。即使读请求比写请求先到达锁等待队列,写锁也会插入到读锁之前。 因为Mysql总是认为写请求一般比读请求重要,这也就是MyISAM不太适合有大量的读写操作的应用的原因,因为大量的写请求会让查询操作很难获取到读锁,有可能永远阻塞。 ? 处理办法: 1、指定Insert、update、delete语句的low_priority属性,降低其优先级。 2、指定启动参数low-priority-updates,使得MyISAM默认给读请求优先的权利。 3、执行命令set low_priority_updates=1,使该连接发出的请求降低。 ? 4、指定max_write_lock_count设置一个合适的值,当写锁达到这个值后,暂时降低写请求的优先级,让读请求获取锁。 ? 但是上面的处理办法造成的原因就是当遇到复杂的查询语句时,写请求可能很难获取到锁,这是一个很纠结的问题,所以我们一般避免使用复杂的查询语句,如果如法避免,则可以再数据库空闲阶段(深夜)执行。 |
| 首页 上一页 1 2 下一页 尾页 2/2/2 | |
| 【大 中 小】【打印】 【繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部】 | |
|
分享到:
|
|
| 上一篇:vs+mysql+ef配置方法 | 下一篇:MySQL InnoDB共享表空间和独立表.. |
| 评论 |
|
|