For example, if you asked a question on yahoo answers, it'd get shown in google results within minutes. For my site, it takes days.
You can't control that. The Google crawler follows links to find new pages, thus new content on yahoo is probably updated quite instantly. As for your page, you just need to make it as easy as possible on the crawler. Set good meta tags and place links to your page in forums and other pages.
Codemonkey
this may help a little bit:
1) go to http://www.xml-sitemaps.com/ and insert you website and download an xml map, then upload it in you website folder. You can also make it by your own (google it)
2) go to http://www.google.com/webmasters/tools/ and add your website (if it is not present yet)
3) click on you site and in the bottom right you can see the sitemaps tab, you can enter the url of your updated xml map
4) in your robots.txt file add this: User-agent: * Sitemap: http://www.yoursite.com/sitemap.xml
5) go to facebook, twitter, delicious, digg, and other social bookmarking and save your new pages
Google tend to visit more frequently sites that change frequently. Which makes sense.
For exemple news websites are visited multiple times a day, white static website are visited few times a month.