Использование списков лучше в этом случае, потому что мы не знаем с самого начала, сколько объектов у нас будет.
List roadCoordinates = new List();
...
roadCoordinates.Add(new Vector3(...));
Здесь учебник о списках.
У меня никогда не было проблемы с производительностью на нескольких пустых столбцах, даже на базах данных в 100 с размера концертов. Я предполагаю, что можно закончить с проблемами, если Вы выполняете индексы на этих полях и затем используете пустой указатель в запросе, но я не рассматривал это как проблему лично. С другой стороны я не создал таблицы базы данных, где каждое поле кроме 3 было nullable.
С другой стороны, я вижу проблему архитектуры, когда большинство данных является пустым. общей причиной является любой a) неправильно нормализованная база данных или b) попытка позволить пользователям подготавливать данные в журнальном столике вместо того, чтобы составить отдельные таблицы для "создавания" данных до согласия на базу данных.
Вам решать определить лучшую архитектуру Вашей базы данных.
Ну, ПУСТОЙ УКАЗАТЕЛЬ всегда является немного чудаком в базах данных. Я не думаю, что это оказывает слишком много влияния производительности в Вашем случае - но конечно, необходимо будет иметь дело со всеми Нулевыми значениями отдельно.
Каждый раз, когда возможно, я стремлюсь использовать значение по умолчанию вместо этого, поэтому если Вы имеете, например, некоторое Значение идентификатора типа INT, Вы могли бы использовать 0 или-1 как "никакой индикатор" подарка значения. Тем путем Вы можете избежать необходимости делать проверки на значение (поле <0) и проверяете на ПУСТОЙ УКАЗАТЕЛЬ отдельно (поле IS NULL или IS NOT NULL).
Marc
Проблемы я имел в прошлом соглашении с последствиями программирования наличия Нулевых значений. Например, проблемы с клиентами или проблемы с не в запросах, возвращая данные при отсутствии ожидания, потому что нулевое значение было там.
Существует только один способ быть уверенным. Разрешение и вставляет 100 миллионов записей, затем измеряют сквозной уровень.
То, что я делаю в этой ситуации, которая очень распространена, должно разделить данные на две таблицы:
Например, я в настоящее время пишу общественный веб-сайт, и одна из таблиц, очевидно, будет пользовательской таблицей. Я записываю большой объем информации о пользователях и таким образом, я разделил данные, которые я собираю в две таблицы:
Таблица Users содержит основную информацию, в которой я буду нуждаться все время, такие как Имя пользователя, Имя и информация о Сессии.
Таблица UserDetails содержит дополнительную информацию, в которой я не нуждаюсь так же часто, такие как Profile Page, Адрес электронной почты, Пароль, Адрес Веб-сайта, Дата рождения и так далее.
Это известно как вертикальное разделение.
Не делайте таблицу с 75%-ми неиспользованными столбцами. Сделайте его со столбцами Вашей попыткой использовать все время и изучить использование чего-то как EAV для других столбцов или поместить их в другую таблицу.