How does partitioning and the lack of a primary key affect ON DUPLICATE KEY UPDATE
When we talk about partitioning tables in relational database platforms is recommended that it is always done on tables where the field is numeric. As a suggestion I would create an additional field that would serve as a surrogate key and this in turn would be used for partitioning the table.