Explorar el Código

Simplify CleanOldUserSessions' query

No need for a subquery, filtering on `created_at` directly is enough.
jvoisin hace 2 años
padre
commit
04916a57d2
Se han modificado 2 ficheros con 2 adiciones y 2 borrados
  1. 1 1
      internal/storage/session.go
  2. 1 1
      internal/storage/user_session.go

+ 1 - 1
internal/storage/session.go

@@ -128,7 +128,7 @@ func (s *Storage) CleanOldSessions(days int) int64 {
 		DELETE FROM
 			sessions
 		WHERE
-			id IN (SELECT id FROM sessions WHERE created_at < now() - interval '%d days')
+			created_at < now() - interval '%d days'
 	`
 	result, err := s.db.Exec(fmt.Sprintf(query, days))
 	if err != nil {

+ 1 - 1
internal/storage/user_session.go

@@ -170,7 +170,7 @@ func (s *Storage) CleanOldUserSessions(days int) int64 {
 		DELETE FROM
 			user_sessions
 		WHERE
-			id IN (SELECT id FROM user_sessions WHERE created_at < now() - interval '%d days')
+			created_at < now() - interval '%d days'
 	`
 	result, err := s.db.Exec(fmt.Sprintf(query, days))
 	if err != nil {