There are a number of things you can do to optimize your workflow to run more efficiently.
Use the Select tool to remove fields that you don't use as early as possible in a stream.
Use the Sample tool on large datasets to limit the number of records passing through the workflow.
Eliminate the use of Browse tools to reduce the amount of memory used to display the data.
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.
Smaller record size allows for faster load times. Record size is determined by field size. Therefore, you should check your 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 up a lot of space and can slow down write speeds.
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).
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.
Make sure the specified temporary directory is local and has plenty of space. You can modify this location from the User Settings tab.