The values of all aggregate properties and some Single Value
properties are stored in a BLOB column (the Storage Stream), usually in a compressed form. These properties cannot be retrieved for reports and can slow retrieval and processing in other operations. You can significantly improve reporting and searching performance by optimizing, that is exposing, Single Value
properties as distinct columns, however, it might slow insert and update operations. The tradeoff and relative impact depends on your hardware and software.
You can expose a property even after the property has values. You will then need to copy values from the BLOB into the new column using the Database Column Populator.
Use the following tools to optimize and populate newly optimized columns. Some tools perform the same functionality, so choose the tool and the property optimization method that best meets your needs.
Single Value
, top-level properties to expose. For aggregate and embedded property values, this feature provides an alternative to the Declarative Index wizard.You can use the Database Class Mappings page along with the Advanced tab on the Property form to help you identify properties that might need to be exposed that are not currently exposed. The Column Inclusion field on the Property form contains a value of blank, Optional
, Required
, or Requested
that indicates the opinion of the developer who created or updated the property as to whether this property might need to be exposed. This value does not affect any runtime behavior of the property. However, using the Database Class Mappings page, you can compare the values in this field with the current schema. To identify properties marked as Required
that are not exposed. Select Designer Studio> Data Model > Classes and Properties > Database Class Mappings to access this page.