当前位置: 首页 > 面试题库 >

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

赵英哲
2023-03-14
问题内容

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

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

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


问题答案:

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

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



 类似资料:
  • 问题内容: (这个问题是关于如何使multiprocessing.Pool()运行代码更快。我终于解决了它,最终的解决方案可以在文章的底部找到。) 原始问题: 我正在尝试使用Python将一个单词与列表中的其他单词进行比较,并检索最相似的列表。为此,我使用了difflib.get_close_matches函数。我正在使用Python 2.6.5的相对较新且功能强大的Windows 7便携式计算机

  • 关于函数式编程的宣传太多了,特别是新的Java8Streams API。它被标榜为旧的好循环和命令式范例的很好的替代。的确,有时它看起来很漂亮,而且做得很好。但是性能呢? 例如。这是一篇关于它的好文章:Java8:No more loops使用循环,只需一次迭代就可以完成所有的工作。但是使用一个新的流API,您将会使用多个循环,这会使它慢得多(对吗?)。看看他们的第一个样本。循环在大多数情况下甚至

  • 问题内容: 我想迭代地构建稀疏矩阵,并注意到根据SciPy文档,有两种合适的选择: LiL矩阵: 类scipy.sparse.lil_matrix(arg1,shape = None,dtype = None,copy = False)[源]基于行的链表稀疏矩阵 这是用于增量构造稀疏矩阵的有效结构。 DoK矩阵: 类scipy.sparse.dok_matrix(arg1,shape = None

  • 为什么我的SIMD向量4长度函数比原始向量长度方法慢3倍? SIMD矢量4长度函数: 幼稚的实现: 我用GCC(Ubuntu7.4.0-1Ubuntu1~18.04.1)7.4.0: SSE版本输出: 纯C版本输出:

  • 表字段:id,content(text类型),content字段已添加fulltext索引,10万条数据,内容是用navicat生成的随机文本。 查询SQL如下: 第一条SQL:耗时13秒 第二条SQL:耗时189秒 我搞不懂为啥差距这么大,那fulltext索引的意义在哪里?

  • 我们刚刚构建了一个将数据存储到磁盘的服务器,并使用Netty进行了前端。在负载测试期间,我们看到Netty扩展到每秒大约8,000条消息。考虑到我们的系统,这看起来非常低。作为基准测试,我们编写了一个Tomcat前端并运行相同的负载测试。通过这些测试,我们每秒收到大约25,000条消息。 以下是我们的负载试验机的规格: Macbook Pro四核 16GB的RAM Java1.6 以下是Netty