65 lines
9.1 KiB
Plaintext
65 lines
9.1 KiB
Plaintext
# Query Performance Analysis - 20251123-124312
|
|
== 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:1321: SELECT invoice_id FROM payments
|
|
/home/administrator/projects/coppertone.tech/backend/functions/payment-service/main.go:1575: SELECT id, address FROM payment_wallets
|
|
/home/administrator/projects/coppertone.tech/backend/functions/payment-service/main.go:1626: SELECT rate FROM exchange_rates
|
|
/home/administrator/projects/coppertone.tech/backend/functions/payment-service/main.go:1652: SELECT rate FROM exchange_rates
|
|
/home/administrator/projects/coppertone.tech/backend/functions/payment-service/main.go:2713: SELECT rate FROM exchange_rates
|
|
/home/administrator/projects/coppertone.tech/backend/functions/payment-service/main.go:3235: SELECT invoice_id FROM payments
|
|
/home/administrator/projects/coppertone.tech/backend/functions/auth-service/main.go:618: err := db.QueryRow("SELECT COUNT(*) FROM users").Scan(&userCount)
|
|
/home/administrator/projects/coppertone.tech/backend/functions/auth-service/main.go:742: err := db.QueryRow("SELECT COUNT(*) FROM users").Scan(&userCount)
|
|
/home/administrator/projects/coppertone.tech/backend/functions/auth-service/main.go:1926: SELECT id FROM user_roles
|
|
/home/administrator/projects/coppertone.tech/backend/functions/auth-service/main.go:2042: SELECT id FROM user_roles
|
|
/home/administrator/projects/coppertone.tech/backend/functions/auth-service/main.go:2128: SELECT id FROM user_roles
|
|
/home/administrator/projects/coppertone.tech/backend/functions/auth-service/main.go:2210: SELECT id FROM user_roles
|
|
/home/administrator/projects/coppertone.tech/backend/functions/blog-service/main.go:658: query := `SELECT ` + blogSelectColumns + ` FROM blog_posts WHERE blog_type = $1`
|
|
/home/administrator/projects/coppertone.tech/backend/functions/blog-service/main.go:858: 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:961: 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:1004: 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:1058: 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:1092: 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: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:1457: 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:1500: query := `SELECT ` + blogSelectColumns + ` FROM blog_posts WHERE blog_type = $1`
|
|
/home/administrator/projects/coppertone.tech/backend/functions/blog-service/main.go:1548: 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:1614: 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:1649: 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:1689: 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-1452- db.QueryRow(`
|
|
/home/administrator/projects/coppertone.tech/backend/functions/auth-service/main.go-1828- 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-1896- err := db.QueryRow(`
|
|
/home/administrator/projects/coppertone.tech/backend/functions/auth-service/main.go-2018- err := db.QueryRow(`
|
|
/home/administrator/projects/coppertone.tech/backend/functions/blog-service/main.go-299- if _, err := db.Exec(migration); err != nil {
|
|
|
|
== Missing ORDER BY (non-deterministic results) ==
|
|
/home/administrator/projects/coppertone.tech/backend/functions/payment-service/main.go:1321: SELECT invoice_id FROM payments
|
|
/home/administrator/projects/coppertone.tech/backend/functions/payment-service/main.go:1575: SELECT id, address FROM payment_wallets
|
|
/home/administrator/projects/coppertone.tech/backend/functions/payment-service/main.go:1626: SELECT rate FROM exchange_rates
|
|
/home/administrator/projects/coppertone.tech/backend/functions/payment-service/main.go:1652: SELECT rate FROM exchange_rates
|
|
/home/administrator/projects/coppertone.tech/backend/functions/payment-service/main.go:2713: SELECT rate FROM exchange_rates
|
|
/home/administrator/projects/coppertone.tech/backend/functions/payment-service/main.go:3235: SELECT invoice_id FROM payments
|
|
/home/administrator/projects/coppertone.tech/backend/functions/auth-service/main.go:618: err := db.QueryRow("SELECT COUNT(*) FROM users").Scan(&userCount)
|
|
/home/administrator/projects/coppertone.tech/backend/functions/auth-service/main.go:742: err := db.QueryRow("SELECT COUNT(*) FROM users").Scan(&userCount)
|
|
/home/administrator/projects/coppertone.tech/backend/functions/auth-service/main.go:1926: SELECT id FROM user_roles
|
|
/home/administrator/projects/coppertone.tech/backend/functions/auth-service/main.go:2042: SELECT id FROM user_roles
|
|
/home/administrator/projects/coppertone.tech/backend/functions/auth-service/main.go:2128: SELECT id FROM user_roles
|
|
/home/administrator/projects/coppertone.tech/backend/functions/auth-service/main.go:2210: SELECT id FROM user_roles
|
|
/home/administrator/projects/coppertone.tech/backend/functions/blog-service/main.go:658: query := `SELECT ` + blogSelectColumns + ` FROM blog_posts WHERE blog_type = $1`
|
|
/home/administrator/projects/coppertone.tech/backend/functions/blog-service/main.go:858: 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:961: 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:1004: 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:1058: 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:1092: 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: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:1457: 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:1500: query := `SELECT ` + blogSelectColumns + ` FROM blog_posts WHERE blog_type = $1`
|
|
/home/administrator/projects/coppertone.tech/backend/functions/blog-service/main.go:1548: 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:1614: 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:1649: 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:1689: err := db.QueryRow("SELECT blog_type, verified FROM blog_posts WHERE slug = $1", slug).Scan(&existingBlogType, &existingVerified)
|