Files
DarkflameServer/migrations/dlu/mysql/57_lookup_indexes.sql
Aaron Kimbrell 2d1ef0e370 feat: web dashboard and playground work
The NexusDashboard-parity dashboard (dDashboardServer) and everything built on it on the experimental branch:
accounts, characters, properties and moderation tools, permissions shared with in-game slash commands, economy
reports, World 3D and property 3D views with client scenery, scheduled events (features, vanity changes, live
events, announcements, restarts), vanity files and events, the CDClient browser, the message inspector with saved
captures, chat filter tools, community challenges, live ops, the AI moderator helper, and the server-side changes
they need.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 09:33:10 -05:00

19 lines
1.2 KiB
SQL

/*
* Indexes for lookups by owner/parent that otherwise scan the whole table: a property's models (and the model count
* on every property list row), a character's properties, an account's characters, a play key's accounts, friends
* both ways, a character's mail, a leaderboard's scores, and the dashboard's per-character/account related data.
* The columns' inline REFERENCES clauses in 0_initial.sql create no foreign key (and so no index) in MySQL/MariaDB.
*/
CREATE INDEX properties_contents_property ON properties_contents (property_id);
CREATE INDEX properties_contents_ugc ON properties_contents (ugc_id);
CREATE INDEX properties_owner ON properties (owner_id);
CREATE INDEX charinfo_account ON charinfo (account_id);
CREATE INDEX accounts_play_key ON accounts (play_key_id);
CREATE INDEX friends_friend ON friends (friend_id);
CREATE INDEX mail_receiver ON mail (receiver_id);
CREATE INDEX leaderboard_game ON leaderboard (game_id, character_id);
CREATE INDEX bug_reports_reporter ON bug_reports (reporter_id);
CREATE INDEX economy_flags_character ON economy_flags (character_id, id);
CREATE INDEX player_cheat_detections_account ON player_cheat_detections (account_id);
CREATE INDEX chat_log_recipient ON chat_log (recipient_id);