003106: 'The '<value>' dataset has a unique ID field mapped to the '<value>' role field. This join strategy is not optimal and may lead to degradation in performance and increased locator size.

Description

The alternate name table was linked to a primary locator role using a field that contains a unique ID for the features in the primary reference data or records in the alternate name table. Fields such as ObjectID, GUID, or GlobalID are not recommend for use as a join ID field to link primary features to alternate name table records when building a locator with the Create Locator tool. The join ID field associated with the primary reference data role must contain a value that will be associated with many records in the primary reference data and a unique record in the alternate name table. There must be a many-to-many or many-to-one relationship between the primary data and the alternate name in the alternate name table. For example, each unique city for a Point Address locator must have one join ID value for all alternate names for that city. If Redlands was the primary city name and had a join ID value of 1, each corresponding alternate name would also have the join ID value as 1. All primary records that were associated with the city Redlands would have a join ID value of 1.

If a one-to-one or one-to-many relationship is created between the primary role features and the alternate names in the alternate name table by assigning an inappropriate reference data field to the locator role join ID field when building the locator, the size of the locator will increase and geocoding performance can be negatively affected.

Solution

Use one of the following options to resolve the warning:

  • Unassign the reported join ID fields and use an appropriate join ID field, if available, to link to an alternate name table.
  • Update the reference data by adding or calculating a join ID field that contains the same join ID value for all alternate names. Then use the corresponding attribute join ID field in the field mapping for the primary data to link to the alternate name table. This can be done by overlaying PointAddress data on city polygons and assigning join ID values based on the points that fall in a specific city.