小编典典

SQL'LIKE BINARY'比普通的'LIKE'慢吗?

sql

我正在使用django应用程序,该应用程序执行一些“ startswith”ORM操作,将longtext列与unicode字符串进行比较。这将导致LIKE BINARY使用u'mystring'unicode字符串进行比较操作。LIKE BINARY可能会比普通LIKE慢吗?

我知道一般的答案是基准测试,但是我想对数据库有一个总体的了解,而不仅仅是我的应用程序,因为我以前从未见过LIKE BINARY查询。

我碰巧正在使用MySQL,但我总体上对SQL数据库的答案感兴趣。


阅读 327

收藏
2021-03-23

共1个答案

小编典典

如果性能似乎成为问题,那么创建第一个例如的副本 可能
是一个好主意。长文本的255个字符,在该文本上添加索引,然后将其startswith与该文本一起使用。

顺便一句,该页面说:“如果需要进行区分大小写的匹配,则将您的列声明为BINARY;不要在查询中使用LIKE
BINARY来强制转换非二进制列。如果这样做,MySQL将不会使用任何该列上的索引。” 这是一个古老的技巧,但我认为这仍然有效。

2021-03-23