mastodon/db/migrate
Akihiko Odaki 42a1231245 Improve index on statuses for api/v1/accounts account_id statuses (#7476)
Queries with the combination of account_id, id, and visibility can be
categorized in three types:
1. Querying for public and unlisted to enumerate statuses visible to
anyone.
2. Querying for public, unlisted, and private to enumerate statuses
visible to follower.
3. Querying for direct to enumerate own direct statuses.

1 and 2 is covered by the index with condition 'visibility IN (0, 1, 2)'.
It would bring better performance in case that there are many direct
statuses.

The index with condition 'visibility = 3' is just for 3. It would be much
faster to query direct statuses thanks to this query.

The total size of those two indexes are expected to be smaller than the
deleted one because they are partial and does not have to cover all the
table.
2018-05-14 12:50:45 +02:00
..
20160220174730_create_accounts.rb Add migration versions (#3574) 2017-06-05 02:43:02 +02:00
20160220211917_create_statuses.rb
20160221003140_create_users.rb Add migration versions (#3574) 2017-06-05 02:43:02 +02:00
20160221003621_create_follows.rb Add migration versions (#3574) 2017-06-05 02:43:02 +02:00
20160222122600_create_stream_entries.rb Add migration versions (#3574) 2017-06-05 02:43:02 +02:00
20160222143943_add_profile_fields_to_accounts.rb Add migration versions (#3574) 2017-06-05 02:43:02 +02:00
20160223162837_add_metadata_to_statuses.rb Add migration versions (#3574) 2017-06-05 02:43:02 +02:00
20160223164502_make_uris_nullable_in_statuses.rb Add migration versions (#3574) 2017-06-05 02:43:02 +02:00
20160223165723_add_url_to_statuses.rb
20160223165855_add_url_to_accounts.rb
20160223171800_create_favourites.rb
20160224223247_create_mentions.rb
20160227230233_add_attachment_avatar_to_accounts.rb
20160305115639_add_devise_to_users.rb Add migration versions (#3574) 2017-06-05 02:43:02 +02:00
20160306172223_create_doorkeeper_tables.rb
20160312193225_add_attachment_header_to_accounts.rb
20160314164231_add_owner_to_application.rb
20160316103650_add_missing_indices.rb
20160322193748_add_avatar_remote_url_to_accounts.rb
20160325130944_add_admin_to_users.rb
20160826155805_add_superapp_to_oauth_applications.rb The frontend will now be an OAuth app, auto-authorized. The frontend will use an access token for API requests 2016-08-26 19:12:19 +02:00
20160905150353_create_media_attachments.rb
20160919221059_add_subscription_expires_at_to_accounts.rb
20160920003904_remove_verify_token_from_accounts.rb
20160926213048_remove_owner_from_application.rb
20161003142332_add_confirmable_to_users.rb Adding e-mail confirmations 2016-10-03 16:51:00 +02:00
20161003145426_create_blocks.rb Adding a block model and filter mentions from blocked users (fix #60) 2016-10-03 17:12:13 +02:00
20161006213403_rails_settings_migration.rb
20161009120834_create_domain_blocks.rb
20161027172456_add_silenced_to_accounts.rb
20161104173623_create_tags.rb Adding hashtag model 2016-11-04 19:12:59 +01:00
20161105130633_create_statuses_tags_join_table.rb
20161116162355_add_locale_to_users.rb
20161119211120_create_notifications.rb Adding notifications column 2016-11-20 19:39:58 +01:00
20161122163057_remove_unneeded_indexes.rb Remove unneeded indices, improve error handling in background workers, don't needlessly reload reblogged status, send Devise e-mails asynchronously 2016-11-22 17:32:51 +01:00
20161123093447_add_sensitive_to_statuses.rb
20161128103007_create_subscriptions.rb
20161130142058_add_last_successful_delivery_at_to_subscriptions.rb Track successful PuSH deliveries 2016-11-30 15:24:57 +01:00
20161130185319_add_visibility_to_statuses.rb Per-status control for unlisted mode, also federation for unlisted mode 2016-11-30 21:34:59 +01:00
20161202132159_add_in_reply_to_account_id_to_statuses.rb
20161203164520_add_from_account_id_to_notifications.rb Keep timelines in the UI trimmed when possible 2016-12-03 21:04:57 +01:00
20161205214545_add_suspended_to_accounts.rb
20161221152630_add_hidden_to_stream_entries.rb Private visibility on statuses prevents non-followers from seeing those 2016-12-21 20:04:13 +01:00
20161222201034_add_locked_to_accounts.rb
20161222204147_create_follow_requests.rb
20170105224407_add_shortcode_to_media_attachments.rb
20170109120109_create_web_settings.rb
20170112154826_migrate_settings.rb
20170114194937_add_application_to_statuses.rb Add tracking of OAuth app that posted a status, extend OAuth apps to have optional website field, add application details to API, show application name and website on detailed status views. Resolves #11 2017-01-15 08:58:50 +11:00
20170114203041_add_website_to_oauth_application.rb
20170119214911_create_preview_cards.rb Fix #463 - Fetch and display previews of URLs using OpenGraph tags 2017-01-20 01:00:14 +01:00
20170123162658_add_severity_to_domain_blocks.rb
20170123203248_add_reject_media_to_domain_blocks.rb Optional domain block attribute that prevents media attachments from being downloaded 2017-01-23 21:36:08 +01:00
20170125145934_add_spoiler_text_to_statuses.rb
20170127165745_add_devise_two_factor_to_users.rb
20170129000348_create_devices.rb
20170205175257_remove_devices.rb Fix #61 - Add list of blocked users to the UI; clean up failed push notifications API 2017-02-05 19:18:11 +01:00
20170209184350_add_reply_to_statuses.rb
20170214110202_create_reports.rb
20170217012631_add_reblog_of_id_foreign_key_to_statuses.rb
20170301222600_create_mutes.rb
20170303212857_add_last_emailed_at_to_users.rb
20170304202101_add_type_to_media_attachments.rb
20170317193015_add_search_index_to_accounts.rb Make account search blazing fast and rank followers/followees higher in the results 2017-03-17 20:48:14 +01:00
20170318214217_add_header_remote_url_to_accounts.rb
20170322021028_add_lowercase_index_to_accounts.rb More efficient single account retrieval (0.9ms vs 50ms before) 2017-03-22 03:21:38 +01:00
20170322143850_change_primary_key_to_bigint_on_statuses.rb
20170322162804_add_search_index_to_tags.rb
20170330021336_add_counter_caches.rb
20170330163835_create_imports.rb
20170330164118_add_attachment_data_to_imports.rb
20170403172249_add_action_taken_by_account_id_to_reports.rb
20170405112956_add_index_on_mentions_status_id.rb
20170406215816_add_notifications_and_favourites_indices.rb
20170409170753_add_last_webfingered_at_to_accounts.rb
20170414080609_add_devise_two_factor_backupable_to_users.rb Add recovery code support for two-factor auth (#1773) 2017-04-15 13:26:03 +02:00
20170414132105_add_language_to_statuses.rb
20170418160728_add_indexes_to_reports_for_accounts.rb
20170423005413_add_allowed_languages_to_user.rb
20170424003227_create_account_domain_blocks.rb
20170424112722_add_status_id_index_to_statuses_tags.rb
20170425131920_add_media_attachment_meta.rb
20170425202925_add_oembed_to_preview_cards.rb OEmbed support for PreviewCard (#2337) 2017-04-27 14:42:22 +02:00
20170427011934_re_add_owner_to_application.rb
20170506235850_create_conversations.rb
20170507000211_add_conversation_id_to_statuses.rb Add conversation model, <ostatus:conversation /> (#3016) 2017-05-12 19:09:21 +02:00
20170507141759_optimize_index_subscriptions.rb
20170508230434_create_conversation_mutes.rb Feature conversations muting (#3017) 2017-05-15 03:04:13 +02:00
20170516072309_add_index_accounts_on_uri.rb
20170520145338_change_language_filter_to_opt_out.rb
20170601210557_add_index_on_media_attachments_account_id.rb
20170604144747_add_foreign_keys_for_accounts.rb
20170606113804_change_tag_search_index_to_btree.rb
20170609145826_remove_default_language_from_statuses.rb Language detection defaults to nil (#3666) 2017-06-09 18:09:37 +02:00
20170610000000_add_statuses_index_on_account_id_id.rb
20170623152212_create_session_activations.rb
20170624134742_add_description_to_session_activations.rb
20170625140443_add_access_token_id_to_session_activations.rb
20170711225116_fix_null_booleans.rb
20170713112503_make_tag_search_case_insensitive.rb
20170713175513_create_web_push_subscriptions.rb Web Push Notifications (#3243) 2017-07-13 22:15:32 +02:00
20170713190709_add_web_push_subscription_to_session_activations.rb Web Push Notifications (#3243) 2017-07-13 22:15:32 +02:00
20170714184731_add_domain_to_subscriptions.rb Fix #2672 - Connect signed PuSH subscription requests to instance domain (#4205) 2017-07-14 23:01:20 +02:00
20170716191202_add_hide_notifications_to_mute.rb
20170718211102_add_activitypub_to_accounts.rb
20170720000000_add_index_favourites_on_account_id_and_id.rb Add index favourites on account_id and id (#4360) 2017-07-26 03:35:25 +02:00
20170823162448_create_status_pins.rb
20170824103029_add_timestamps_to_status_pins.rb
20170829215220_remove_status_pins_account_index.rb
20170901141119_truncate_preview_cards.rb
20170901142658_create_join_table_preview_cards_statuses.rb
20170905044538_add_index_id_account_id_activity_type_on_notifications.rb add index_notifications_on_id_and_account_id_and_activity_type on notifications table (#4750) 2017-09-05 12:30:01 +02:00
20170905165803_add_local_to_statuses.rb
20170913000752_create_site_uploads.rb Uploads for admin site settings (#4913) 2017-09-14 00:04:30 +02:00
20170917153509_create_custom_emojis.rb
20170918125918_ids_to_bigints.rb
20170920024819_status_ids_to_timestamp_ids.rb
20170920032311_fix_reblogs_in_feeds.rb
20170924022025_ids_to_bigints2.rb
20170927215609_add_description_to_media_attachments.rb
20170928082043_create_email_domain_blocks.rb
20171005102658_create_account_moderation_notes.rb
20171005171936_add_disabled_to_custom_emojis.rb Improve admin UI for custom emojis, add copy/disable/enable (#5231) 2017-10-05 23:42:05 +02:00
20171006142024_add_uri_to_custom_emojis.rb Encode custom emojis as resolveable objects in ActivityPub (#5243) 2017-10-07 17:43:42 +02:00
20171010023049_add_foreign_key_to_account_moderation_notes.rb
20171010025614_change_accounts_nonnullable_in_account_moderation_notes.rb foreign_key, non-nullable, dependent: destroy in account_moderation_notes (#5294) 2017-10-10 13:12:17 +02:00
20171020084748_add_visible_in_picker_to_custom_emoji.rb Feature: Unlisted custom emojis (#5485) 2017-10-27 16:11:30 +02:00
20171028221157_add_reblogs_to_follows.rb Allow hiding of reblogs from followed users (#5762) 2017-11-28 15:00:35 +01:00
20171107143332_add_memorial_to_accounts.rb Add ability to disable login and mark accounts as memorial (#5615) 2017-11-07 19:06:44 +01:00
20171107143624_add_disabled_to_users.rb
20171109012327_add_moderator_to_accounts.rb Add moderator role and add pundit policies for admin actions (#5635) 2017-11-11 20:23:33 +01:00
20171114080328_add_index_domain_to_email_domain_blocks.rb
20171114231651_create_lists.rb
20171116161857_create_list_accounts.rb
20171118012443_add_moved_to_account_id_to_accounts.rb Profile redirect notes (#5746) 2017-11-18 19:39:02 +01:00
20171119172437_create_admin_action_logs.rb Add logging of admin actions (#5757) 2017-11-24 02:05:53 +01:00
20171122120436_add_index_account_and_reblog_of_id_to_statuses.rb
20171125024930_create_invites.rb
20171125031751_add_invite_id_to_users.rb
20171125185353_add_index_reblog_of_id_and_account_to_statuses.rb Merge indexes for reblog on statuses table (#5831) 2017-11-27 20:22:27 +01:00
20171125190735_remove_old_reblog_index_on_statuses.rb Merge indexes for reblog on statuses table (#5831) 2017-11-27 20:22:27 +01:00
20171129172043_add_index_on_stream_entries.rb
20171130000000_add_embed_url_to_preview_cards.rb
20171201000000_change_account_id_nonnullable_in_lists.rb Change account_id non-nullable in lists (#5979) 2017-12-12 04:11:17 +01:00
20171212195226_remove_duplicate_indexes_in_lists.rb
20171226094803_more_faster_index_on_notifications.rb
20180106000232_add_index_on_statuses_for_api_v1_accounts_account_id_statuses.rb
20180109143959_add_remember_token_to_users.rb pam authentication (#5303) 2018-02-02 10:18:55 +01:00
20180204034416_create_identities.rb CAS + SAML authentication feature (#6425) 2018-02-04 05:42:13 +01:00
20180206000000_change_user_id_nonnullable.rb
20180211015820_create_backups.rb Account archive download (#6460) 2018-02-21 23:21:32 +01:00
20180304013859_add_featured_collection_url_to_accounts.rb
20180310000000_change_columns_in_notifications_nonnullable.rb
20180402031200_add_assigned_account_id_to_reports.rb
20180402040909_create_report_notes.rb
20180410204633_add_fields_to_accounts.rb
20180416210259_add_uri_to_relationships.rb
20180506221944_add_actor_type_to_accounts.rb
20180510214435_add_access_token_id_to_web_push_subscriptions.rb
20180510230049_migrate_web_push_subscriptions.rb
20180514130000_improve_index_on_statuses_for_api_v1_accounts_account_id_statuses.rb Improve index on statuses for api/v1/accounts account_id statuses (#7476) 2018-05-14 12:50:45 +02:00