Best Practices > Use ASCII Encoding When Possible

Use ASCII Encoding When Possible

Article #: Product: Version:


When handling data in DMExpress, use ASCII encoding whenever possible to optimize performance. This is especially the case when performing text field comparisons during sorting, aggregating, joining, filtering, or evaluating conditions/values that compare text fields.


When your data contains only ASCII characters, ASCII encoding should be used for optimized text-handling performance in DMExpress. If your data contains any non-ASCII characters, the appropriate encoding should be used to ensure accurate results.

For all encodings but locale, DMExpress can use internal algorithms to do the comparisons. When handling locale-encoded data, DMExpress performs comparisons based on the system's locale and must use the operating system to perform the comparisons. The overhead to query the operating system can cause significant performance loss.

In some cases, such as when working with databases, you have no control over the input or output encoding of the data. If possible, optimize DMExpress performance by switching to ASCII encoding when the data enters the job flow, and then, if needed, converting it back to the original encoding when the data leaves the job flow. Some ways to do this include:

For example, if you have a job which reads from a locale-encoded database table and the data is compatible with ASCII, check the Treat as ASCII checkbox in the Source Database Table dialog to treat the data as ASCII throughout the task.

Note that the Treat as settings offer better performance than the Encode/Character encoding settings, as the former do not actually convert the data but rather just interpret it as if it were ASCII.

Last updated: