Now there is table A
, which stores the core and busiest data of the entire business line. The approximate amount of data online is assumed to be 1 billion. Almost all concurrency is related to this table. Recent business needs , I want to add a field, but found that the impact is too great and cannot be changed directly. The compromise solution is to add a new table B
to store the ID
of A
and the ones that need to be added. That field
Because I don’t have access to the online database, I can’t actually test it, so I don’t know what to use
SELECT * FROM A, B ON A.id = b.aid WHERE a.xx = 'zz' AND b.xx = 'zz'
It is better to check a large range of B first, and then use the results in the search interval of B to check A. In this case, the first method may be very accurate, but I don’t know how much the performance will be worse.
The second range is not too precise
You want to check the new fields in table B, why do you need to use the results in table B to check A in the second way?
The first option is fine