Ведь наверняка нельзя хранить все в одной таблице оповещения типа :
-"Alex отправил запрос на добавления в друзья";
-"В группе MyGroup появился новый пост";
-"Alex и еще 24 пользователя оценили вашу запись".
я в свое время делал на php импорт реально больших файлов, так по моему опыту, никакой объектный интерфейс XML не годится. потому что файл сам по себе велИк, а в виде дерева объектов он еще сильнее распухает.
1) используйте BETWEEN
2) разберитесь с условиями. id` NOT IN и запрос внутри можно трансформировать в запрос
id in (select id where date between "date start" and "date end")