f4565d0603
* One pass at materialized views, only about 30% faster, not good. * Before merging master to test out bans. * DB Rework working, still need more testing. * Fixing accidental addadmin bug from asonix async merge. * Fixing the comment delete trigger * Some more DB additions. - Adding a hot_rank desc, published desc index to post_aggregates_fast. - Removed WITH CTE queries in favor of direct selects (since CTEs cant use indexes) * Removing some unecessary indexes. * Some more DB optimizings - Changing the fast_id pkeys to just ids on the fast tables. - Removing the private_message_fast, since the view contains no aggregates. - Comment and post voting now no longer pull from the views, they update the counts directly. * Adding community_agg_view and post_agg_views Credit: eiknat. * Adding user and comment_view migrations. (comment_view still broken) * Adding more views. Credit Eiknat.
43 lines
2 KiB
Bash
Executable file
Vendored
43 lines
2 KiB
Bash
Executable file
Vendored
#!/bin/bash
|
|
set -e
|
|
|
|
# You can import these to http://tatiyants.com/pev/#/plans/new
|
|
|
|
# Do the views first
|
|
|
|
echo "explain (analyze, format json) select * from user_fast" > explain.sql
|
|
psql -qAt -U lemmy -f explain.sql > user_fast.json
|
|
|
|
echo "explain (analyze, format json) select * from post_view where user_id is null order by hot_rank desc, published desc" > explain.sql
|
|
psql -qAt -U lemmy -f explain.sql > post_view.json
|
|
|
|
echo "explain (analyze, format json) select * from post_fast_view where user_id is null order by hot_rank desc, published desc" > explain.sql
|
|
psql -qAt -U lemmy -f explain.sql > post_fast_view.json
|
|
|
|
echo "explain (analyze, format json) select * from comment_view where user_id is null" > explain.sql
|
|
psql -qAt -U lemmy -f explain.sql > comment_view.json
|
|
|
|
echo "explain (analyze, format json) select * from comment_fast_view where user_id is null" > explain.sql
|
|
psql -qAt -U lemmy -f explain.sql > comment_fast_view.json
|
|
|
|
echo "explain (analyze, format json) select * from community_view where user_id is null order by hot_rank desc" > explain.sql
|
|
psql -qAt -U lemmy -f explain.sql > community_view.json
|
|
|
|
echo "explain (analyze, format json) select * from community_fast_view where user_id is null order by hot_rank desc" > explain.sql
|
|
psql -qAt -U lemmy -f explain.sql > community_fast_view.json
|
|
|
|
echo "explain (analyze, format json) select * from site_view limit 1" > explain.sql
|
|
psql -qAt -U lemmy -f explain.sql > site_view.json
|
|
|
|
echo "explain (analyze, format json) select * from reply_fast_view where user_id = 34 and recipient_id = 34" > explain.sql
|
|
psql -qAt -U lemmy -f explain.sql > reply_fast_view.json
|
|
|
|
echo "explain (analyze, format json) select * from user_mention_view where user_id = 34 and recipient_id = 34" > explain.sql
|
|
psql -qAt -U lemmy -f explain.sql > user_mention_view.json
|
|
|
|
echo "explain (analyze, format json) select * from user_mention_fast_view where user_id = 34 and recipient_id = 34" > explain.sql
|
|
psql -qAt -U lemmy -f explain.sql > user_mention_fast_view.json
|
|
|
|
grep "Execution Time" *.json
|
|
|
|
rm explain.sql
|