I think VLOOKUP is going to save your day.
Can be used for both of the suggested solutions.
Quick tutorial then, you have:
sheet1: 30K rows
sheet2: 27K rows, all of which in sheet1
ok, first select your dataset on sheet2 and give it a name, eg."source". This can be done by typing the name into the namebox (located to the left of the formula bar). Ensure that the first column that you select is the key info that matches to the other sheet, like the part number, other columns must be to the right of this info and would include unit of measure or price.
in your sheet1, lets suppose your key info (the part number) is in column A and you want to fill the result into column F, in cell F2 put the formula:
=VLOOKUP(A2,source,2,false)
this means, lookup value from [A2] of this sheet in the first column of the named range [source] and return the value from the second column of the named range. False means basically, only identify for exact matches (ie. don't lie to me!!!).
Where there is no match this formula will return an error, which you can suppress using TYPE...
=if(TYPE(VLOOKUP(A2,source,2,false))=16,"not found",VLOOKUP(A2,source,2,false))
...hope this does it for you, play with it anyway, D.