Вопрос от общего новичка MySQL. Я пытаюсь создать таблицу, содержащую информацию о деталях машины (винты, кронштейны, цилиндры и т. Д.), И каждая часть соответствует машине, которой принадлежит эта деталь. База данных будет спроектирована таким образом, чтобы каждый раз, когда клиент считывал данные из таблицы, были выбраны все детали с одного указанного компьютера. Я пытаюсь выяснить самый быстрый способ, которым все строки, подпадающие под определенную категорию, могут быть прочитаны с диска.
Сортировка таблицы невозможна, так как многие люди могут добавлять строки в таблицу одновременно. Использование таблицы для каждой машины также нецелесообразно, поскольку могут быть созданы новые машины. Я ожидаю, что он должен будет обрабатывать много операций INSERT и SELECT, но почти никаких операций DELETE. Я разработал план, позволяющий быстро идентифицировать каждую деталь, принадлежащую какой-либо машине, и пришел спросить, насколько это практично:
Каждая строка, содержащая данные для детали станка, будет содержать номер строки предыдущей детали и следующую деталь для той же машины. Отдельная таблица будет содержать номер строки последней части каждого компьютера, который отображается в таблице. Сценарий может следовать за списком этих «указателей», пропуская различные части таблицы, пока все части не будут найдены.
TL; DR
Будет ли такой подход поиска строки по ее номеру строки быстрее, чем поиск по целочисленному первичному ключу (поскольку первичный ключ не обязательно указывает позицию в таблице)? Насколько быстрее это будет? Приведет ли это к заметному улучшению производительности по сравнению с использованием индекса?