Я новичок в использовании MySQL, и я пытаюсь понять, каков наиболее эффективный способ хранения предметов инвентаря игрока в моей базе данных.
Итак, вот установка:
Существует таблица под названием 'player', и каждому игроку назначается уникальный 'playerid', который устанавливается в качестве основного индекса таблицы.
У каждого игрока может быть до 24 предметов в инвентаре, и информация об этих предметах хранится в таблице под названием 'player_inventory'. Эта таблица имеет следующие поля:
playerid, slotid, uid, стек, использование, долговечность
'uid' – это идентификатор предмета, а также 'stack', 'uses' и 'durability'. являются просто значениями, которые нужны каждому предмету (например, тот же тип предмета в другом слоте может иметь более низкую "долговечность").
Проблема в том, что я не могу установить индекс для 'playerid' в таблице инвентаря, потому что для каждого игрока существует до 24 записей слотов, и ни одно из других полей не может быть уникальным.
Поэтому я беспокоюсь, когда в этой таблице есть инвентарь 10 000 игроков, потенциально может быть 240 000 записей в этой таблице без индекса, когда я иду к ней, чтобы запросить ее - что-то подсказывает мне, что это может быть очень медленно?
У меня довольно ограниченные знания о том, как оптимизировать мою базу данных, любые советы очень приветствуются.