Partitioning a table will boost the performance?
Does partitioning boost INSERTs and SELECTs Performance


It depends.  See the PARTITION section of http://mysql.rjweb.org/doc.php/ricksrots


  How much time the ALTER take as it is a huge amount of Data(Any way to minimize the Alter time)?


ALTER (usually) takes a time proportional to the data size.  Hour(s) for 28GB.  OTOH, ALTER PARTITION may be much faster.  DROP PARTITION is virtually instantaneous, hence useful for purging 'old' data.  Be more specific about your ALTER question.


  Do I need to use the field created in the queries so that the optimizer can use the partition?


The rules on indexes may seem screwball.  Let's see the CREATE TABLE and the SELECT(s).


  Are there any limitation's or risks by partioning this table?


No more than 1024 partitions, but 100 is 'too many', in my opinion.  The biggest risk is that you will do all the work to do PARTITIONing, only to get no performance boost.


  Is there any way to ALTER the table without downtime?


It depends -- be specific about the ALTER.