问题描述
我在MySQL中有一个存储过程,该存储过程在运行时会锁定表。这是一个相当繁重的过程,可能会持续一分钟,并且在此期间访问数据库的其他请求会导致死锁错误。如果不重写该过程,则有一种方法可以使该过程的优先级降低,或者此时不锁定该表,以使其他传入请求优先于该过程且不会被阻塞。我不想取消该过程,但希望它在后台继续。
在创建过程时,我可以看到一些类似的设置,但是找不到我需要的设置。这可能吗,怎么办?这些是设置:
/*!50003 SET sql_mode = @saved_sql_mode */ ;
/*!50003 SET character_set_client = @saved_cs_client */ ;
/*!50003 SET character_set_results = @saved_cs_results */ ;
/*!50003 SET collation_connection = @saved_col_connection */ ;
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
/*!50003 SET character_set_client = utf8 */ ;
/*!50003 SET character_set_results = utf8 */ ;
/*!50003 SET collation_connection = utf8_general_ci */ ;
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
/*!50003 SET sql_mode = 'STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION' */ ;
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)