Sql 长插入期间对MyISAM表的读取访问?
在mysql上,仅使用myisam表,我需要在长时间运行的INSERT过程中访问表的内容 有没有办法防止INSERT以使并发SELECT无法运行的方式锁定表Sql 长插入期间对MyISAM表的读取访问?,sql,mysql,database,locking,Sql,Mysql,Database,Locking,在mysql上,仅使用myisam表,我需要在长时间运行的INSERT过程中访问表的内容 有没有办法防止INSERT以使并发SELECT无法运行的方式锁定表 这就是我的目的:检查到目前为止插入了多少记录。不幸的是,NOLOCK无法在mysql上运行,我只能找到控制事务锁的命令,例如,将事务隔离级别设置为-据我所知,这根本不应该应用于myisam表,因为它们首先不支持事务。myisam锁定将阻止选择。在InnoDB上使用MyISAM有什么原因吗?如果您不想更换发动机,我想这可能是您的解决方案: 1
这就是我的目的:检查到目前为止插入了多少记录。不幸的是,NOLOCK无法在mysql上运行,我只能找到控制事务锁的命令,例如,将事务隔离级别设置为-据我所知,这根本不应该应用于myisam表,因为它们首先不支持事务。myisam锁定将阻止选择。在InnoDB上使用MyISAM有什么原因吗?如果您不想更换发动机,我想这可能是您的解决方案: 1:使用cron作业或其他计划任务创建表的物化视图,应用程序可以在不阻塞的情况下查询这些任务
2:使用触发器统计已发生的插入数,并使用此元数据表查找插入数。MyISAM锁定将阻止选择。在InnoDB上使用MyISAM有什么原因吗?如果您不想更换发动机,我想这可能是您的解决方案: 1:使用cron作业或其他计划任务创建表的物化视图,应用程序可以在不阻塞的情况下查询这些任务 2:使用触发器统计已发生的插入数,并使用此元数据表查找插入数