chinwagsocial/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
20160220211917_create_statuses.rb
20160221003140_create_users.rb
20160221003621_create_follows.rb
20160222122600_create_stream_entries.rb Add migration versions (#3574) 2017-06-05 02:43:02 +02:00
20160222143943_add_profile_fields_to_accounts.rb
20160223162837_add_metadata_to_statuses.rb
20160223164502_make_uris_nullable_in_statuses.rb
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
20160306172223_create_doorkeeper_tables.rb Add migration versions (#3574) 2017-06-05 02:43:02 +02:00
20160312193225_add_attachment_header_to_accounts.rb
20160314164231_add_owner_to_application.rb Add migration versions (#3574) 2017-06-05 02:43:02 +02:00
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
20160905150353_create_media_attachments.rb
20160919221059_add_subscription_expires_at_to_accounts.rb Separate PuSH subscriptions from following, add mastodon:push:refresh task, 2016-09-20 00:43:36 +02:00
20160920003904_remove_verify_token_from_accounts.rb
20160926213048_remove_owner_from_application.rb Replace logo, fix #57 - delete/unreblog/unfavourite API, fix #45 - app 2016-09-26 23:56:53 +02:00
20161003142332_add_confirmable_to_users.rb Adding e-mail confirmations 2016-10-03 16:51:00 +02:00
20161003145426_create_blocks.rb
20161006213403_rails_settings_migration.rb
20161009120834_create_domain_blocks.rb
20161027172456_add_silenced_to_accounts.rb Adding public timeline silencing 2016-10-27 19:33:04 +02:00
20161104173623_create_tags.rb
20161105130633_create_statuses_tags_join_table.rb Adding hashtags 2016-11-05 17:13:14 +01:00
20161116162355_add_locale_to_users.rb
20161119211120_create_notifications.rb
20161122163057_remove_unneeded_indexes.rb
20161123093447_add_sensitive_to_statuses.rb
20161128103007_create_subscriptions.rb
20161130142058_add_last_successful_delivery_at_to_subscriptions.rb
20161130185319_add_visibility_to_statuses.rb
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
20161222201034_add_locked_to_accounts.rb
20161222204147_create_follow_requests.rb
20170105224407_add_shortcode_to_media_attachments.rb
20170109120109_create_web_settings.rb Persist UI settings, add missing localizations for German 2017-01-09 14:00:55 +01:00
20170112154826_migrate_settings.rb Add migration versions (#3574) 2017-06-05 02:43:02 +02:00
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
20170123162658_add_severity_to_domain_blocks.rb Domain blocks now have varying severity - auto-suspend vs auto-silence 2017-01-23 17:38:38 +01:00
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 Fix spoiler_text not having "not null" constraint 2017-01-25 15:24:19 +01:00
20170127165745_add_devise_two_factor_to_users.rb Added optional two-factor authentication 2017-01-27 20:35:16 +01:00
20170129000348_create_devices.rb
20170205175257_remove_devices.rb
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
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 Fix full-text search query quotation, improve tag search performance with an index, 2017-03-22 17:36:34 +01:00
20170330021336_add_counter_caches.rb Fix up null values on latest migration, add notes 2017-03-30 16:06:27 +02:00
20170330163835_create_imports.rb Import feature for following/blocking lists (addresses #62, #177, #201, #454) 2017-03-30 19:42:33 +02:00
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 Low-hanging fruit of query optimization, these indices were missing 2017-04-07 00:04:38 +02:00
20170409170753_add_last_webfingered_at_to_accounts.rb Refresh webfinger (#1323) 2017-04-15 03:16:05 +02:00
20170414080609_add_devise_two_factor_backupable_to_users.rb
20170414132105_add_language_to_statuses.rb
20170418160728_add_indexes_to_reports_for_accounts.rb
20170423005413_add_allowed_languages_to_user.rb Filter on allowed user language preferences (#2361) 2017-05-01 17:42:13 +02:00
20170424003227_create_account_domain_blocks.rb Account domain blocks (#2381) 2017-05-19 01:14:30 +02:00
20170424112722_add_status_id_index_to_statuses_tags.rb
20170425131920_add_media_attachment_meta.rb Add media dimensions (#2448) 2017-04-26 03:48:12 +02:00
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 Add conversation model, <ostatus:conversation /> (#3016) 2017-05-12 19:09:21 +02:00
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 Fix tag search order and not to use tsvector (#3611) 2017-06-06 16:07:06 +02:00
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 Fix boolean columns sometimes having a null value (#4162) 2017-07-13 03:12:25 +02:00
20170713112503_make_tag_search_case_insensitive.rb Make tag search case insensitive again (#4184) 2017-07-13 19:31:33 +02:00
20170713175513_create_web_push_subscriptions.rb
20170713190709_add_web_push_subscription_to_session_activations.rb
20170714184731_add_domain_to_subscriptions.rb
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 Allow multiple pinned statuses to be shown and make them be ordered b… (#4690) 2017-08-25 18:50:52 +02:00
20170829215220_remove_status_pins_account_index.rb Remove unneccesary indices (#4738) 2017-08-30 05:04:20 +02:00
20170901141119_truncate_preview_cards.rb Make PreviewCard records reuseable between statuses (#4642) 2017-09-01 16:20:16 +02:00
20170901142658_create_join_table_preview_cards_statuses.rb
20170905044538_add_index_id_account_id_activity_type_on_notifications.rb
20170905165803_add_local_to_statuses.rb
20170913000752_create_site_uploads.rb
20170917153509_create_custom_emojis.rb
20170918125918_ids_to_bigints.rb Make IdsToBigints (mostly!) non-blocking (#5088) 2017-10-02 21:28:59 +02:00
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
20171010023049_add_foreign_key_to_account_moderation_notes.rb
20171010025614_change_accounts_nonnullable_in_account_moderation_notes.rb
20171020084748_add_visible_in_picker_to_custom_emoji.rb
20171028221157_add_reblogs_to_follows.rb
20171107143332_add_memorial_to_accounts.rb
20171107143624_add_disabled_to_users.rb
20171109012327_add_moderator_to_accounts.rb
20171114080328_add_index_domain_to_email_domain_blocks.rb
20171114231651_create_lists.rb Lists (#5703) 2017-11-18 00:16:48 +01:00
20171116161857_create_list_accounts.rb Lists (#5703) 2017-11-18 00:16:48 +01:00
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
20171122120436_add_index_account_and_reblog_of_id_to_statuses.rb Merge indexes for reblog on statuses table (#5831) 2017-11-27 20:22:27 +01:00
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
20171129172043_add_index_on_stream_entries.rb Use disable_ddl_transaction! to prevent warnings on migration (#6183) 2018-01-04 19:38:29 +01:00
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 Use disable_ddl_transaction! to prevent warnings on migration (#6183) 2018-01-04 19:38:29 +01:00
20180106000232_add_index_on_statuses_for_api_v1_accounts_account_id_statuses.rb
20180109143959_add_remember_token_to_users.rb
20180204034416_create_identities.rb CAS + SAML authentication feature (#6425) 2018-02-04 05:42:13 +01:00
20180206000000_change_user_id_nonnullable.rb Change user_id column non-nullable (#6435) 2018-02-07 16:35:44 +01:00
20180211015820_create_backups.rb
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 Feature: Report improvements (#6967) (#7000) 2018-04-02 22:04:14 +02:00
20180410204633_add_fields_to_accounts.rb
20180416210259_add_uri_to_relationships.rb
20180506221944_add_actor_type_to_accounts.rb Bot nameplates (#7391) 2018-05-07 09:31:07 +02:00
20180510214435_add_access_token_id_to_web_push_subscriptions.rb Add REST API for Web Push Notifications subscriptions (#7445) 2018-05-11 11:49:12 +02:00
20180510230049_migrate_web_push_subscriptions.rb
20180514130000_improve_index_on_statuses_for_api_v1_accounts_account_id_statuses.rb