GlideRecord.getRowCount() works by getting the whole result set without using the build-in arithmetic functions of the database.
GlideAggregate does use the database, therefore is often drastically faster. The exception to this recommendation is if you intend to loop through the records and process them anyway
GlideAggregate and a
COUNT aggregate to improve performance. This could make a large impact when working on tables with a high record count.
Time to fix