@Rakib Thanks for reaching out.
How can I save 50,000 items at once?
There is no out of box solution to do it without using the for each action and iterating it. In case if you want the single call to the SQL DB then you can Execute a SQL query (V2) action and build your query dynamically inside the for each action iteration. This would have the same number/a greater number of action execution as you are building the query dynamically inside the for each action and outside the action you will pass the dynamic query.
If the date, project number, and unit number fields contains same values in the database, then don't store those records.
The best way would be leveraging the Execute a SQL query (V2) action and in your query do the validated if the records exist or not.