There are two types are Workflow records - Definition
& Activation
(I'm ignoring Template
in this scenario)
For every workflow, two entries will be there. You can use my query to check in DB.
One will have option to Deactivate
and the other one don't have.
You are seeing the Activation
snapshot record used for execution of WF for lifetime. Take care of those which are already triggered.
If you look at the schema for the Type attribute, there are three values:
1 = Definition
Definition of a Workflow that is displayed in the application in the "All Processes" view. When you make changes to a workflow, you are making a change to a Workflow definition (or template); if you delete a workflow, you are deleting a workflow definition (or template)
2 = Activation
Whenever you activate (or publish) a workflow, an Activation record is created. An activation represents a snapshot of the workflow definition taken at activation time. If a Workflow is triggered, the System Job (asyncoperation) links back to the Workflow Activation record. Imagine you activate a workflow, a workflow is triggered and is in the midst of running, when you deactivate the workflow and make a change. In order to not effect the currently running Workflow, it uses the Workflow Activation record. If the workflow is triggered again, it will use the new definition (or workflow activation).
3 = Template
If you mark a Workflow as a Workflow Template, it will show up on the new Workflow dialog. If you choose to use a template, a copy of the template will be used as a basis of the Workflow.
When a Workflow is deleted from the system, the definition is deleted. However, if the workflow was ever published the Activation will remain for a period of time. Once all of the System Jobs that reference a particular Workflow Activation have completed and have been cleaned up (occurs through a recurring daily bulk delete job), the Workflow Activation will also be deleted.
Reference