Masz dobry pomysł, jasne; możesz albo pobrać najnowszą datę i godzinę z bazy danych i wstawić tylko elementy nowsze niż ta, albo (jeśli chcesz być naprawdę kompletny) pobrać wszystko z bazy danych, porównać ze wszystkim w pliku danych i wstawić tylko te elementy, które nie dopasować coś już w bazie danych. Ale jeśli naprawdę chcesz INSERT tylko wstawić nowe dane, jak sugeruje tytuł twojego pytania, wtedy INSERT IGNORE
to droga do zrobienia i bez wątpienia również najprostsza implementacja. Jeśli nie masz obaw co do natężenia ruchu w bazie danych, trzymam się tego.