У меня возник этот вопрос, когда мне дали задание, которое заставило меня ненадолго задуматься. Но не смог придумать более точного или удовлетворительного ответа.
Задание было примерно таким,
Вещи, которые у меня уже есть
- таблица «Пользователь», содержащая сведения о пользователе. Например, createdTime, type(agent, admin, other), id и т. д. (эта таблица содержит слишком много строк (записей))
Задание, данное мне
- создайте новую таблицу, которая будет отслеживать удаленных пользователей.
- Затем присоединитесь к таблице «Пользователь» с этой вновь созданной таблицей и покажите пользователя, который еще не удален и имеет тип = «агент».
Теперь мой вопрос
- «почему они просят меня создать новую таблицу вместо создания нового столбца (в таблице пользователей), в котором будет храниться флаг (верно, если пользователь удален, иначе не удален)
- «Разве присоединение не отнимает много времени?»
- (создание нового столбца в текущей таблице «Пользователь» поможет сохранить детали пользователя без изменений. Но создание новой таблицы — где это поможет?)
Когда я задал этот вопрос члену моей команды, он ответил "Если вы создадите новый столбец, значение может быть пустым для многих строк, и это приведет к пустой трате места" (то, что он сказал, тоже верно. )
Это говорит о том, что он больше заботится о пространстве во время запроса.
В настоящее время мы можем получить любое количество места за деньги, но скорость важнее, верно. Если скорость меньше, то какой смысл во всем, что экономит место на диске.
Разве мы не должны больше заботиться о времени и меньше о пространстве?.
Я хотел бы знать, что вы думаете об этом. Что для вас важнее и почему?
Я знаю, что за этот вопрос можно проголосовать против, но я хотел знать, что думает большинство разработчиков в таком случае. Что их больше волнует, пространство или время?
Спасибо за ваше время.