55 lines
7.8 KiB
Plaintext
55 lines
7.8 KiB
Plaintext
# Query Performance Analysis - 20251123-104210
|
|
== 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:1065: SELECT invoice_id FROM payments
|
|
/home/administrator/projects/coppertone.tech/backend/functions/auth-service/main.go:605: err := db.QueryRow("SELECT COUNT(*) FROM users").Scan(&userCount)
|
|
/home/administrator/projects/coppertone.tech/backend/functions/auth-service/main.go:729: err := db.QueryRow("SELECT COUNT(*) FROM users").Scan(&userCount)
|
|
/home/administrator/projects/coppertone.tech/backend/functions/auth-service/main.go:1765: SELECT id FROM user_roles
|
|
/home/administrator/projects/coppertone.tech/backend/functions/auth-service/main.go:1881: SELECT id FROM user_roles
|
|
/home/administrator/projects/coppertone.tech/backend/functions/auth-service/main.go:1967: SELECT id FROM user_roles
|
|
/home/administrator/projects/coppertone.tech/backend/functions/auth-service/main.go:2049: SELECT id FROM user_roles
|
|
/home/administrator/projects/coppertone.tech/backend/functions/blog-service/main.go:645: query := `SELECT ` + blogSelectColumns + ` FROM blog_posts WHERE blog_type = $1`
|
|
/home/administrator/projects/coppertone.tech/backend/functions/blog-service/main.go:813: 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:888: 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:931: 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:985: 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:1019: 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:1283: 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:1356: 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:1399: query := `SELECT ` + blogSelectColumns + ` FROM blog_posts WHERE blog_type = $1`
|
|
/home/administrator/projects/coppertone.tech/backend/functions/blog-service/main.go:1447: 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:1513: 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:1548: 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:1588: 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-1389- db.QueryRow(`
|
|
/home/administrator/projects/coppertone.tech/backend/functions/auth-service/main.go-1667- 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-1735- err := db.QueryRow(`
|
|
/home/administrator/projects/coppertone.tech/backend/functions/auth-service/main.go-1857- err := db.QueryRow(`
|
|
/home/administrator/projects/coppertone.tech/backend/functions/blog-service/main.go-286- if _, err := db.Exec(migration); err != nil {
|
|
|
|
== Missing ORDER BY (non-deterministic results) ==
|
|
/home/administrator/projects/coppertone.tech/backend/functions/payment-service/main.go:1065: SELECT invoice_id FROM payments
|
|
/home/administrator/projects/coppertone.tech/backend/functions/auth-service/main.go:605: err := db.QueryRow("SELECT COUNT(*) FROM users").Scan(&userCount)
|
|
/home/administrator/projects/coppertone.tech/backend/functions/auth-service/main.go:729: err := db.QueryRow("SELECT COUNT(*) FROM users").Scan(&userCount)
|
|
/home/administrator/projects/coppertone.tech/backend/functions/auth-service/main.go:1765: SELECT id FROM user_roles
|
|
/home/administrator/projects/coppertone.tech/backend/functions/auth-service/main.go:1881: SELECT id FROM user_roles
|
|
/home/administrator/projects/coppertone.tech/backend/functions/auth-service/main.go:1967: SELECT id FROM user_roles
|
|
/home/administrator/projects/coppertone.tech/backend/functions/auth-service/main.go:2049: SELECT id FROM user_roles
|
|
/home/administrator/projects/coppertone.tech/backend/functions/blog-service/main.go:645: query := `SELECT ` + blogSelectColumns + ` FROM blog_posts WHERE blog_type = $1`
|
|
/home/administrator/projects/coppertone.tech/backend/functions/blog-service/main.go:813: 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:888: 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:931: 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:985: 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:1019: 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:1283: 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:1356: 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:1399: query := `SELECT ` + blogSelectColumns + ` FROM blog_posts WHERE blog_type = $1`
|
|
/home/administrator/projects/coppertone.tech/backend/functions/blog-service/main.go:1447: 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:1513: 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:1548: 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:1588: err := db.QueryRow("SELECT blog_type, verified FROM blog_posts WHERE slug = $1", slug).Scan(&existingBlogType, &existingVerified)
|