There are a number of things you can do to optimize your workflow to run more efficiently.
Remove Unnecessary Fields
Use the Select tool to remove fields that you don't use as early as possible in a stream.
Limit Amount of Data
Use the Sample tool on large datasets to limit the number of records passing through the workflow.
Eliminate Browse Tools
Eliminate the use of Browse tools to reduce the amount of memory used to display the data.
Browse to Data File from Spatial Tool
When you use a Spatial Match tool, instead of connecting an Input Data tool to the Universe anchor, select the tool and browse to the universe file and select the spatial object.
Optimize Record Size
Smaller record size allows for faster load times. Record size is determined by field size. Therefore, you should check you dataset for large fields and adjust the field size if possible. For example, the default size for fields in the Formula tool is often larger than it needs to be. You can use the Auto Field tool to save some space before you connect to the database to write data. Additionally, please note that BLOBs and spatial data take a lot of space and can slow down write speeds.
Balance File Size in Distance Tool
The spatial object selected in the Destination (right side) should be the larger file (more records), while the object selected in the Source (left side) should be the smaller file (fewer records).
Manage Targets and Inputs in Spatial Match Tool
When you work with Polygons, the larger (physically) polygons should be on the Targets side when there are polygons on both sides.
When you work with Polygons and Points, configure with the Polygon on the Targets side and the Points on the Universe side.
Ensure Local Temporary Directory Space
Make sure the specified temporary directory is local and has plenty of space. You can modify this location from the User Settings tab.