In Service Portal, auto complete reference fields using the "sn-record-picker" directive execute queries using CONTAINS instead of STARTSWITH DescriptionAs per the documentation on Auto-complete for reference fields, under the section: Improve auto-complete queries, it states: By default, all reference fields use a starts with query to search for matching text in the reference table. This prevents auto-complete from executing inefficient contains queries every time a user searches a reference field. This behavior is controlled by the system property: glide.ui.ref_ac.startswith (default: true). As such, you may be expecting the same behavior in Service portal auto-complete reference fields (that are generated using the snRecordPicker directive). However, the actual returned results in the Service Portal widgets are based on CONTAINS instead of STARTSWITH. This is different from the platform default. You may find the widget to be slow in returning results as the queries are using the contains operator every time a user searches a reference field. In most cases, the queries would not cause slowness as the returned results would be small. However, if the query is returning a large result set, as queries are executed while the user types, the auto complete results may be slow to display due to slow queries and session waits.Steps to Reproduce Please see an example below using the out-of-the-box Self-Service online check-in for Walk-up Experience. The entered term: "tuter" returns the user: Abel Tuter. This indicates the result is based on CONTAINS and not STARTSWITH. WorkaroundThis behavior in Service Portal (which is different from the platform default) has been the default for a long time. After carefully considering the severity and frequency of this problem, and the risk of attempting a fix, it has been decided to not address this issue in any current or future releases. We do not make these decisions lightly, and we apologise for any inconvenience. If you would like to have the returned results based on STARTSWITH, you can add the startswith="true" attribute (see example below) to the sn-record-picker directive in the "Body HTML template" section of the widget. If you are experiencing slowness and will not be able to use the startswith attribute due to business requirements, you may want to consider increasing the system property: glide.xmlhttp.ac_wait_time (default: 250) setting in 50 milliseconds increments until acceptable performance is achieved. For example, if the user enters inc in the reference field, the system will 250 milliseconds before sending a request to the server for all entries that begin with inc. If the value for the system property is increased, the system will then wait for a longer time before sending a request to the server for the entered search term. This then reduced the number of inefficient queries and the associated session waits (for the prior transaction to complete) which should improve the user experience. It is recommended that the value does not exceed 750, as users may complain of latency from the time they stop typing to the time the system responds with auto-complete entries. Please also note as the property: glide.xmlhttp.ac_wait_time applies to the autocomplete of all reference fields (not limited to Service Portal), please test and validate changes in a subproduction instance before implementing in Production.Related Problem: PRB1273136