Базовые Данные - Дополнительные атрибуты и производительность

На базовое руководство по программированию данных:

Можно указать, что атрибут является дополнительным — то есть, он не требуется, чтобы иметь значение. В целом, однако, Вы отговорены делать так — специально для числовых значений (обычно, можно получить лучшие результаты с помощью обязательного атрибута со значением по умолчанию — в модели — 0). Причина этого состоит в том, что SQL имеет специальное поведение сравнения для ПУСТОГО УКАЗАТЕЛЯ, который непохож на ноль Objective C. ПУСТОЙ УКАЗАТЕЛЬ в базе данных не является тем же как 0 и ищет 0, не будет соответствовать столбцам ПУСТОМУ УКАЗАТЕЛЮ.

Я всегда делал числовые значения обязательными, но не имею для дат и строк. Удобно в моем коде основывать логику на датах и/или строках, являющихся нолем.

На основе вышеупомянутых рекомендаций я считаю создание всего в моей базе данных обязательным. Для дат я мог установить образцовое значение по умолчанию на значение 0 и для строк образцовое значение по умолчанию ничего (""). Затем в моем коде я мог протестировать даты [дата timeIntervalSince1970]! = 0 и строки для string.length! = 0.

Вопрос для относительно маленькой базы данных, это действительно имеет значение с Базовой точки зрения производительности Данных? И каков компромисс, если рассматриваемый атрибут никогда не будет непосредственно запрашиваться через предикат?

8
задан David Ravetti 9 February 2013 в 22:56
поделиться

1 ответ

Я не видел никаких проблем с производительностью на небольших и средних наборах данных. Я подозреваю, что это то, с чем вы будете иметь дело на этапе производительности вашего приложения.

Лично я использую ту же логику, когда нечисловые данные являются необязательными, если это имеет смысл, поскольку это действительно упрощает код, что, в свою очередь, дает мне больше времени для последующей оптимизации.

10
ответ дан 5 December 2019 в 17:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: