MySQL is pretty slow after 50-100k rows whats happen?
This is what happened:

UUID VARCHAR(36)


UUIDs (GUIDs, MD5s, etc) are very random.  That is, if you can't keep the entire table (or index) cached in RAM, the 'next' lookup is likely to cause a disk hit.  And disk hits are a big factor (think 90%) of the cost of performing queries.

More discussion here.  That includes a few partial remedies.

More importantly

WHERE LOWER(ma.aliasTitle) = LOWER(manufacturer)


has terrible performance because it hides an indexable column inside a function (LOWER()).  Instead, make sure those two columns have a collation ending with _ci (as in "Case Insensitive").  Then simply do

WHERE ma.aliasTitle = manufacturer


and have

INDEX(aliasTitle)
INDEX(manufacturerTitle)
INDEX(distributorSKU)


If you run into some index limit size, please provide MySQL version and SHOW CREATE TABLE.  Meanwhile, distributorTitle VARCHAR(256) is likely to cause trouble.  Changing to (255) may work; (191) may be needed for 5.5 or 5.6; beware of truncating strings.

One more thing -- When you CREATE the procedure, be sure to have established the collation for the connection that is consistent with the columns.  For example, if you are using CHARACTER SET utf8 COLLATE utf8_general_ci for the columns, then you could do it this way:

SET NAMES utf8 COLLATE utf8_general_ci;
DELIMITER //
CREATE ...
//
DELIMITER ;