Risparmiare ip, tempo e numero di accessi al database va bene, qualche centinaio di righe non è un problema per un database mysql (non dimenticare di impostare gli indici sulla tabella).
Ma tieni presente che gli utenti con IP condiviso potrebbero avere problemi ad accedere alla tua pagina.
L'uso dei cookie è problematico perché l'utente può controllarlo e non puoi limitarlo. Ovviamente, dipende dalla tua applicazione quanto sia importante bloccare l'utente dopo n accessi.