Digamos que eu tenha uma tabela A que é referenciada pela tabela B. Cada registro na tabela A pode ser referenciado por vários registros da tabela B. Isso seria o clássico "A tem muitos B".
A Tabela B tem uma chave estrangeira para a tabela A que especifica ON DELETE CASCADE
, portanto, quando um registro da tabela A é excluído, os registros de referência da tabela B também são excluídos.
O que estou tentando entender é como ele se comportaria ao excluir vários registros do pai A. O banco de dados executaria uma única consulta de exclusão para cada registro órfão na tabela B? Ou executaria uma consulta de exclusão para cada registro excluído da tabela A?
Acho que o que estou perguntando é se eu excluir 100 registros da tabela A, isso resultaria em 2 consultas (1 para a tabela A e outra para a tabela B) ou em 101 consultas (1 para a tabela A e outra para cada registro excluído naquela tabela).
Estou tentando encontrar essas informações na documentação do Postgres e do SQLite, mas não consigo encontrar nada.