I want to add a field entity_id to finance_invoice
. It will speed up (minimally) reads and simplifies the query.
select * from finance_invoice where issuer_identity_id in (
select id from finance_identity where entity_id = @container_entity_id
)
vs
select * from finance_invoice where container_entity_id = @container_entity_id
container_entity_id could be derived from issuer_identity_id, since an identity belongs to an entity.
Schema:
table - finance_invoice
field | type
id | int(10) unsigned
issuer_identity_id | int(10) unsigned
recipient_identity_id | int(10) unsigned
reference_id | int(10) unsigned
...
table - finance_identity
field | type
id | int(10) unsigned
entity_id | int(10) unsigned
reference_id | int(10) unsigned
... name, address fields ...
table - finance_entity
field | type
id | int(10) unsigned
type | int(10) unsigned
...
foreign key - invoice_issuer on finance_invoice
finance_invoice.issuer_identity_id references finance_identity.id
foreign key - invoice_recipient on finance_invoice
finance_invoice.recipient_identity_id references finance_identity.id
foreign key - identity_entity on finance_identity
finance_identity.entity_id references finance_entity.id