Това е донякъде ефективно, но е неоптимално - не всички данни, които получавате в _GET и _POST, ще влязат в базата данни. Понякога може да искате да го покажете на страницата вместо това, в който случай mysql_real_escape_string може само да навреди (вместо това бихте искали htmlentities).
Моето практическо правило е да избягвам нещо само непосредствено, преди да го поставя в контекста, в който то трябва да бъде избягано.
В този контекст е по-добре просто да използвате параметризирани заявки – тогава екранирането се извършва автоматично за вас.