Hi! I've done this before... :)
If you're going to Carnivale, definitely book in advance. Maybe even ask a travel agent.
Lining up for tickets in Italian train stations is very time-consuming also... if you end up doing this, give yourself lots of time. I was once kept for 45 minutes in line at Monza station!
Plenty of trains run between Milano-Venezia, it's about a 3 hour journey. Links for schedules (orario) are:
www.trenitalia.it (which directs to the ferrovie site above)
...yes, bahn.de is the German website but it covers all Europe, often more accurately than other countries' websites. For example, the Slovene website didn't give me much information on getting to Italy, perhaps 1 or 2 trains daily. But bahn.de showed a tricky but fast zigzag timetable which gave me much more options.
Don't forget to validate your ticket (little yellow boxes on the platforms) before boarding the train in Italy, as you'll still get fined even if you didn't know. ;)