# Query Performance Analysis - 20251123-080448 == SELECT * usage (fetch all columns - inefficient) == None found - good practice! == Missing LIMIT on SELECT queries (potential memory issues) == /home/administrator/projects/coppertone.tech/backend/functions/payment-service/main.go:1055: SELECT invoice_id FROM payments /home/administrator/projects/coppertone.tech/backend/functions/auth-service/main.go:394: err := db.QueryRow("SELECT COUNT(*) FROM users").Scan(&userCount) /home/administrator/projects/coppertone.tech/backend/functions/auth-service/main.go:510: err := db.QueryRow("SELECT COUNT(*) FROM users").Scan(&userCount) /home/administrator/projects/coppertone.tech/backend/functions/auth-service/main.go:1277: SELECT id FROM user_roles /home/administrator/projects/coppertone.tech/backend/functions/auth-service/main.go:1393: SELECT id FROM user_roles /home/administrator/projects/coppertone.tech/backend/functions/auth-service/main.go:1479: SELECT id FROM user_roles /home/administrator/projects/coppertone.tech/backend/functions/auth-service/main.go:1561: SELECT id FROM user_roles /home/administrator/projects/coppertone.tech/backend/functions/blog-service/main.go:536: query := `SELECT ` + blogSelectColumns + ` FROM blog_posts WHERE blog_type = $1` /home/administrator/projects/coppertone.tech/backend/functions/blog-service/main.go:704: err := db.QueryRow("SELECT author_id, status FROM blog_posts WHERE slug = $1", slug).Scan(&existingAuthorID, &existingStatus) /home/administrator/projects/coppertone.tech/backend/functions/blog-service/main.go:779: err := db.QueryRow("SELECT author_id, status FROM blog_posts WHERE slug = $1", slug).Scan(&existingAuthorID, &existingStatus) /home/administrator/projects/coppertone.tech/backend/functions/blog-service/main.go:822: err := db.QueryRow("SELECT status FROM blog_posts WHERE slug = $1", slug).Scan(&existingStatus) /home/administrator/projects/coppertone.tech/backend/functions/blog-service/main.go:876: err := db.QueryRow("SELECT status FROM blog_posts WHERE slug = $1", slug).Scan(&existingStatus) /home/administrator/projects/coppertone.tech/backend/functions/blog-service/main.go:910: err := db.QueryRow("SELECT status FROM blog_posts WHERE slug = $1", slug).Scan(&existingStatus) /home/administrator/projects/coppertone.tech/backend/functions/blog-service/main.go:1174: err := db.QueryRow("SELECT author_id, blog_type FROM blog_posts WHERE slug = $1", slug).Scan(&existingAuthorID, &existingBlogType) /home/administrator/projects/coppertone.tech/backend/functions/blog-service/main.go:1247: err := db.QueryRow("SELECT author_id, blog_type FROM blog_posts WHERE slug = $1", slug).Scan(&existingAuthorID, &existingBlogType) /home/administrator/projects/coppertone.tech/backend/functions/blog-service/main.go:1290: query := `SELECT ` + blogSelectColumns + ` FROM blog_posts WHERE blog_type = $1` /home/administrator/projects/coppertone.tech/backend/functions/blog-service/main.go:1338: err := db.QueryRow("SELECT blog_type, status FROM blog_posts WHERE slug = $1", slug).Scan(&existingBlogType, &existingStatus) /home/administrator/projects/coppertone.tech/backend/functions/blog-service/main.go:1404: err := db.QueryRow("SELECT blog_type FROM blog_posts WHERE slug = $1", slug).Scan(&existingBlogType) /home/administrator/projects/coppertone.tech/backend/functions/blog-service/main.go:1439: err := db.QueryRow("SELECT blog_type, verified FROM blog_posts WHERE slug = $1", slug).Scan(&existingBlogType, &existingVerified) /home/administrator/projects/coppertone.tech/backend/functions/blog-service/main.go:1479: err := db.QueryRow("SELECT blog_type, verified FROM blog_posts WHERE slug = $1", slug).Scan(&existingBlogType, &existingVerified) == N+1 Query Pattern (queries in loops) == /home/administrator/projects/coppertone.tech/backend/functions/auth-service/main.go-1014- db.QueryRow(` /home/administrator/projects/coppertone.tech/backend/functions/auth-service/main.go-1179- roleRows, err := db.Query("SELECT role FROM user_roles WHERE user_id = $1", users[i].ID) /home/administrator/projects/coppertone.tech/backend/functions/auth-service/main.go-1247- err := db.QueryRow(` /home/administrator/projects/coppertone.tech/backend/functions/auth-service/main.go-1369- err := db.QueryRow(` /home/administrator/projects/coppertone.tech/backend/functions/blog-service/main.go-212- if _, err := db.Exec(migration); err != nil { == Missing ORDER BY (non-deterministic results) == /home/administrator/projects/coppertone.tech/backend/functions/payment-service/main.go:1055: SELECT invoice_id FROM payments /home/administrator/projects/coppertone.tech/backend/functions/auth-service/main.go:394: err := db.QueryRow("SELECT COUNT(*) FROM users").Scan(&userCount) /home/administrator/projects/coppertone.tech/backend/functions/auth-service/main.go:510: err := db.QueryRow("SELECT COUNT(*) FROM users").Scan(&userCount) /home/administrator/projects/coppertone.tech/backend/functions/auth-service/main.go:1277: SELECT id FROM user_roles /home/administrator/projects/coppertone.tech/backend/functions/auth-service/main.go:1393: SELECT id FROM user_roles /home/administrator/projects/coppertone.tech/backend/functions/auth-service/main.go:1479: SELECT id FROM user_roles /home/administrator/projects/coppertone.tech/backend/functions/auth-service/main.go:1561: SELECT id FROM user_roles /home/administrator/projects/coppertone.tech/backend/functions/blog-service/main.go:536: query := `SELECT ` + blogSelectColumns + ` FROM blog_posts WHERE blog_type = $1` /home/administrator/projects/coppertone.tech/backend/functions/blog-service/main.go:704: err := db.QueryRow("SELECT author_id, status FROM blog_posts WHERE slug = $1", slug).Scan(&existingAuthorID, &existingStatus) /home/administrator/projects/coppertone.tech/backend/functions/blog-service/main.go:779: err := db.QueryRow("SELECT author_id, status FROM blog_posts WHERE slug = $1", slug).Scan(&existingAuthorID, &existingStatus) /home/administrator/projects/coppertone.tech/backend/functions/blog-service/main.go:822: err := db.QueryRow("SELECT status FROM blog_posts WHERE slug = $1", slug).Scan(&existingStatus) /home/administrator/projects/coppertone.tech/backend/functions/blog-service/main.go:876: err := db.QueryRow("SELECT status FROM blog_posts WHERE slug = $1", slug).Scan(&existingStatus) /home/administrator/projects/coppertone.tech/backend/functions/blog-service/main.go:910: err := db.QueryRow("SELECT status FROM blog_posts WHERE slug = $1", slug).Scan(&existingStatus) /home/administrator/projects/coppertone.tech/backend/functions/blog-service/main.go:1174: err := db.QueryRow("SELECT author_id, blog_type FROM blog_posts WHERE slug = $1", slug).Scan(&existingAuthorID, &existingBlogType) /home/administrator/projects/coppertone.tech/backend/functions/blog-service/main.go:1247: err := db.QueryRow("SELECT author_id, blog_type FROM blog_posts WHERE slug = $1", slug).Scan(&existingAuthorID, &existingBlogType) /home/administrator/projects/coppertone.tech/backend/functions/blog-service/main.go:1290: query := `SELECT ` + blogSelectColumns + ` FROM blog_posts WHERE blog_type = $1` /home/administrator/projects/coppertone.tech/backend/functions/blog-service/main.go:1338: err := db.QueryRow("SELECT blog_type, status FROM blog_posts WHERE slug = $1", slug).Scan(&existingBlogType, &existingStatus) /home/administrator/projects/coppertone.tech/backend/functions/blog-service/main.go:1404: err := db.QueryRow("SELECT blog_type FROM blog_posts WHERE slug = $1", slug).Scan(&existingBlogType) /home/administrator/projects/coppertone.tech/backend/functions/blog-service/main.go:1439: err := db.QueryRow("SELECT blog_type, verified FROM blog_posts WHERE slug = $1", slug).Scan(&existingBlogType, &existingVerified) /home/administrator/projects/coppertone.tech/backend/functions/blog-service/main.go:1479: err := db.QueryRow("SELECT blog_type, verified FROM blog_posts WHERE slug = $1", slug).Scan(&existingBlogType, &existingVerified)