Hi,
There is no DELETE mysql query on the hikashop_product in the code of the import system.
However, there is a REPLACE mysql query.
This allows the system to replace the data in the database with the data from the CSV file when there and if not insert a new product entry:
dev.mysql.com/doc/refman/8.0/en/replace.html
This avoids having to run first a mysql query to check if the products are already there or not, and then, having to run an update query for each entry. That would several reduce the amount of products that could be processed at once.
There is also a mechanism to load the product data in the database and fill the data from the CSV so that when the REPLACE runs, you don't loose the data already in there for the product.
But if you have several times the same product in the CSV file, that might lead to an unexpected behavior with the data of the products already in the database being lost.
The best though would be to use a mass action with a filter "import from the CSV" when you want to update data with partial information. This is less optimized as it load and save each product one by one. It wont' change much in terms of speed for only 400 products (I'm talking about optimization when importings tens of thousands of products at once), but it will avoid the possibility of loosing product data as it will use a normal UPDATE query, not a REPLACE one.