"migliore" da che punto di vista? della "sicurezza"? se in questo senso certo non i cookies... se poi per "sessioni su db" intendi registrare i dati di sessione in un db e non con gli automatismi del php dipende da altri fattori (es.: se il database è su un server condiviso con altri utenti terzi potrebbe essere più "sicuro" non poggiarsi ad esso), ma i livelli di differenza sono molto labili.