有没有办法让mysql查询不对myisam表进行任何锁定?
我的问题似乎是我的Sphinx搜索索引器锁定了我的一个myisam表超过60秒,这似乎使更新语句等待锁被释放,这反过来使其他查询等待更新语句完成。索引器使用mysql_use_result并在调用mysql_free_result之前完成大部分索引工作。这是我对至少发生的事情的最好猜测,但如果你觉得这个错误,请告诉我。
解决问题的一种方法似乎是通过id范围细分索引器查询。但似乎我不应该这样做,因为我真的不需要这个查询来阻止任何其他查询同时运行。在这个用例中,性能比一致性要重要得多。
谢谢!
答案 0 :(得分:1)
似乎mysql查询总是在myisam表上采用读锁定。
我的问题的解决方案是在my.cnf的[mysqld]部分设置low-priority-updates = 1。
我仍然想知道是否有办法在没有读取锁定的情况下在mysql中进行查询,但是我会打开另一个问题来获得更好的标题。
谢谢!