Skip to content

Add files via upload#229

Open
galsasson4 wants to merge 2 commits into
evidencebp:mainfrom
galsasson4:main
Open

Add files via upload#229
galsasson4 wants to merge 2 commits into
evidencebp:mainfrom
galsasson4:main

Conversation

@galsasson4

Copy link
Copy Markdown
Contributor

No description provided.

@evidencebp evidencebp left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please submit a csv file, not numbers.

@@ -0,0 +1,4 @@
Number,Question,What was the problem type?,What was the problem?,How would you fix it?,Answer,Commit,Comment
1,“SELECT COUNT(DISTINCT actor_id) FROM roles;”,״performance״,"""Using COUNT(DISTINCT) forces the database to sort and build temporary tables in memory. Rewriting it with a GROUP BY subquery optimizes index usage. Original query execution time: 0.42 seconds. Optimized query execution time: 0.11 seconds.""","""Rewrite using a GROUP BY subquery to leverage existing indexes more efficiently.""","""SELECT COUNT(*) FROM (SELECT actor_id FROM roles GROUP BY actor_id) AS t;""",N/A,"""Improves performance by utilizing internal index scanning instead of a heavy distinct sort overhead."""
2,״SELECT id FROM movies WHERE id NOT IN (SELECT movie_id FROM movies_genres);״,״performance״,״Using NOT IN with a subquery can be extremely slow and can return empty results if any movie_id in movies_genres is NULL.״,"״Rewrite the query using LEFT JOIN and filter for NULL, or use NOT EXISTS which is safer and better optimized by the query planner.״",״SELECT m.id FROM movies m LEFT JOIN movies_genres mg ON m.id = mg.movie_id WHERE mg.movie_id IS NULL;״,N/A,״Improves join plan execution and handles null values safely.״

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please add running time here too

Number,Question,What was the problem type?,What was the problem?,How would you fix it?,Answer,Commit,Comment
1,“SELECT COUNT(DISTINCT actor_id) FROM roles;”,״performance״,"""Using COUNT(DISTINCT) forces the database to sort and build temporary tables in memory. Rewriting it with a GROUP BY subquery optimizes index usage. Original query execution time: 0.42 seconds. Optimized query execution time: 0.11 seconds.""","""Rewrite using a GROUP BY subquery to leverage existing indexes more efficiently.""","""SELECT COUNT(*) FROM (SELECT actor_id FROM roles GROUP BY actor_id) AS t;""",N/A,"""Improves performance by utilizing internal index scanning instead of a heavy distinct sort overhead."""
2,״SELECT id FROM movies WHERE id NOT IN (SELECT movie_id FROM movies_genres);״,״performance״,״Using NOT IN with a subquery can be extremely slow and can return empty results if any movie_id in movies_genres is NULL.״,"״Rewrite the query using LEFT JOIN and filter for NULL, or use NOT EXISTS which is safer and better optimized by the query planner.״",״SELECT m.id FROM movies m LEFT JOIN movies_genres mg ON m.id = mg.movie_id WHERE mg.movie_id IS NULL;״,N/A,״Improves join plan execution and handles null values safely.״
3,"״”SELECT m.id, m.name FROM movies m JOIN (SELECT * FROM movies_genres WHERE genre = 'Comedy') g ON m.id = g.movie_id;",״performance״,"״Subquery uses SELECT * which retrieves all columns, preventing the engine from using index-only scans and wasting memory buffer cache for unused columns.״",״Select only the required columns (movie_id) in the subquery.״,"״SELECT m.id, m.name FROM movies m JOIN (SELECT movie_id FROM movies_genres WHERE genre = 'Comedy') g ON m.id = g.movie_id;״",N/A,״Reduces data transfer and enables index-covered scanning.״ No newline at end of file

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

add time here too

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants