The reason for using DECIMAL instead of DOUBLE takes a college level class in binary and decimal number bases and the propagation of roundoff errors. Plus, a discussion of the IEEE754 Floating Point standard. So, ricksrots gives a one-liner to say what to do, without convincing you of why.
My one-sentence statement about partition keys and unique keys is a summary of
http://dev.mysql.com/doc/mysql-reslimits-excerpt/5.5/en/partitioning-limitations-partitioning-keys-unique-keys.html
It has taken me more than a decade to amass the tidbits found in
http://mysql.rjweb.org/doc.php/ricksrots
Some I learned by experience; some I learned by watching others at work; some I learned by answering 12K threads on these forums.
I would say that more than half the people who decide to use partitioning cannot benefit from it. Or, at least, they could get just as much performance by correctly declaring index(es). Therefore, an intimate knowledge of indexing is a prerequisite to partitioning.
I am saddened by how many people (some DBAs included) don't know the basics of indexing. Indexing is a huge topic; I have made a first stab by explaining "compound indexes" in
http://mysql.rjweb.org/doc.php/index1 . There are so many variants on SELECTs and INDEXes, that I don't (yet) have a usable second document on indexing.