Improving Mysql updating query performance
Turn it into 4 UPDATES, one per status (EXPIRED, INCORRECT, ...).  Run the updates in the correct order so that if two cases apply, you end up with the desired status.

Each UPDATE would match one of your cases.  For example, for INCORRECT:

UPDATE tdetectable det
JOIN  tdetectable_equipment e  ON det.id = e.id_detectable 
JOIN  torganization org  ON det.id_organization = org.id
SET det.detectable_status = 'INCORRECT'
WHERE ( EXISTS(
        SELECT *
        FROM trevision_cycle
        WHERE id_detectable = e.id_detectable 
          AND status = 'NO_OK' 
          AND active &lt;&gt; 0
          AND id IS NOT NULL -- If `id` is the PK, this test unnecessary
      ) )
      AND det.active
      AND org.id_client = ?


Indexes:

torganization: INDEX(id_client, id)
det:  INDEX(id, active) -- unless you have PRIMARY KEY(id)
trevision_cycle: INDEX(id_detectable, status, id, active)


innodb_buffer_pool_size should be about 10G for that sized machine.

More specifics:

ALTER TABLE trevision_cycle ADD INDEX(id_detectable, status, id, active);


KEY and INDEX are synonyms.  Most datatypes (INT, ENUM, etc, but not TEXT or BLOB) can be indexed.  Since it has more than 1 column, this index is called "composite" or "compound".  The order of columns in an index definition is important; I provided one useful order.