Due to a platform limitation that trigger on attachment won't be invoked when an attachment is sent via email I wrote a batch class to clone and parent email attachments from `EmailMessage` to a custom object `Comm__c`


    global class BatchforOutboundEmailAttachments implements Database.Batchable<sObject>, Schedulable {    
    
        global Database.QueryLocator start(Database.BatchableContext bc){
    
            return Database.getQueryLocator([SELECT Name, Body, ParentID from Attachment Where Parent.Type = 'EmailMessage']);    
        }    
    
        global void execute(Database.BatchableContext bc, Attachment[] scope){
    
            set<id> parents = new set<id>();
            List<Attachment> newFiles = new List<Attachment>();
            Map<Id,EmailMessage> emailMap = new Map<Id,EmailMessage>();
            List<Attachment> oldFiles = new List<Attachment>();    
    
                for(Attachment att : scope){
                    parents.add(att.ParentID);
                }
    
                if(!parents.isEmpty()){
    
           emailMap = new Map<ID, EmailMessage>([SELECT RelatedToId FROM EmailMessage WHERE Id in :Parents]); 
    
                for (Attachment att : scope) {
                  if(emailMap.get(att.ParentId) != Null && emailMap.get(att.ParentId).RelatedToId != NULL){
                    if (emailMap.get(att.ParentId).RelatedToId.getSObjectType() == Comm__c.SObjectType) {
    
                        Attachment newFile = att.clone();
                        newFile.ParentId = emailMap.get(att.ParentId).RelatedToId;
                        newFiles.add(newFile);
                        oldFiles.add(att);
    
                    }
                 }
                }     
    
    
           try{
                insert newFiles;
                delete oldFiles;
              }
    
               catch(DMLexception de){}    
            }
    
        }
    
        global void finish(Database.BatchableContext bc){
         }
    
        global void execute(SchedulableContext sc){
    
             ID jobId = Database.executeBatch(this,100); 
    
            }
    }

In the start method I'm receiving 12k attachments which are  `EmailMessage` records but not related to `Comm__c` i.e.( `RelatedToID` is not of SobjectType  `Comm__c`)

How can I reduce the scope size so that less number of batches are processed?