管理锁MySQL-PHP

管理锁MySQL-PHP,php,mysql,sql,cron,locks,Php,Mysql,Sql,Cron,Locks,我创建了两个CRON作业,基本上分别每6分钟和8分钟运行一次。 CRON作业基本上是插入一组记录,然后更新表中的一些列 现在我面临的问题是,表中有太多的锁,这会影响表上的select查询,并阻止用户在访问站点时看到任何内容 我编写的用于插入和更新的查询如下 foreach($records as $items) { $query="insert into tablename (column1,column2) values ('$item[0]','$item[1]); mysql_qu

我创建了两个CRON作业,基本上分别每6分钟和8分钟运行一次。 CRON作业基本上是插入一组记录,然后更新表中的一些列

现在我面临的问题是,表中有太多的锁,这会影响表上的select查询,并阻止用户在访问站点时看到任何内容

我编写的用于插入和更新的查询如下

foreach($records as $items) { $query="insert into tablename (column1,column2) values ('$item[0]','$item[1]); mysql_query($query); } foreach($记录为$项) { $query=“插入到tablename(column1,column2)值(“$item[0]”,“$item[1]); mysql\u查询($query); } 更新也是如此

数据库是MySQL和MyISAM引擎


我想知道如何解决这个锁定问题

使用innodb引擎,这是行级锁定系统…MYISAM是表级锁定。@user1844933是正确的锁定方式,这看起来是在数据库中插入数据的漫长方式,您应该使用批插入,或者如果$records也是从数据库中获取的,那么insert-SELECT将非常有用d快速。()也可以使用插入延迟(仅限MYISAM引擎)也可以使用导出