缺省情况下,SQL Anywhere 数据库支持不区分大小写的字符串比较。有时,优化程序可能会遇到这样的查询:用户使用 UPPER、UCASE、LOWER 或 LCASE 内置函数在这些查询中显式强制进行不必要的文本转换。如果数据库的归类序列允许,SQL Anywhere 将自动排除这种不必要的转换。在谓语中排除这些大小写转换还有一个好处,就是将这些谓语的其中一部分转换为可优化搜索谓语,这种谓语可用于相应表的索引检索。
请看以下查询:
SELECT * FROM Customers WHERE UPPER(Surname) = 'SMITH'; |
对于不区分大小写的数据库,该查询将在内部重写为如下查询,以便优化程序可以考虑使用 Customers.Surname 上的索引:
SELECT * FROM Customers WHERE Surname = 'SMITH'; |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |