mysql query taking differently long
Don't remove ibdata1.  That may be fine for one table, but once you have two tables, you will be in trouble.  Also don't remove an .ibd file if you have innodb_file_per_table.

What is the size of innodb_buffer_pool_size?  Unless you have a small RAM, it should be set to about 70% of RAM.  This is a very important speed setting for InnoDB.

A better way to empty out a table:  TRUNCATE TABLE.  If you will frequently be reloading this table, the have innodb_file_per_table = ON when you create it.

14KB per row, including a BLOB?  That is past one critical threshold.  Please show us SHOW CREATE TABLE and SHOW TABLE STATUS.  There are some important factors to note before discussing this further.

If you ultimate goal is to completely replace the table periodically, then do it this way:

CREATE TABLE new_tbl   (and use either `LIKE real_tbl` or spell out the schema)
Load the data into new_tbl
RENAME TABLE real_tbl TO old_tbl, new_tbl TO real_tbl;
DROP old_tbl;


The RENAME is atomic and instantaneous.  With innodb_file_per_table = ON, you will recoup any free space from the old copy.