Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment expirer une requête mysql++ en c++

Vous pouvez implémenter un comportement "ressemblant à une annulation" de cette façon :

Vous exécutez la requête sur un thread séparé, qui continue de s'exécuter, que le délai d'attente se produise ou non. Le délai d'attente se produit sur le thread principal et définit une variable sur "1" indiquant qu'il s'est produit. Ensuite, vous faites ce que vous voulez faire sur votre fil principal.

Le thread de requête, une fois la requête terminée, vérifie si le délai d'attente s'est produit. Si ce n'est pas le cas, il fait le reste du travail qu'il doit faire. Si c'est le cas, il déverrouille simplement les tables qu'il vient de verrouiller.

Je sais que cela semble un peu inutile, mais la période de verrouillage-déverrouillage doit être pratiquement instantanée et vous vous rapprochez le plus possible du résultat souhaité.