gpt4 book ai didi

mysql, utf-8 列 : how to select only case-sensitive?

转载 作者:行者123 更新时间:2023-11-29 04:52:23 25 4
gpt4 key购买 nike

我使用 utf-8 字符串。它们应该存储在 MySQL 数据库表中。这就是为什么我决定为几个专栏选择一些 utf-8 排序规则。现在我看到的选择并不像我猜想的那么清楚。问题是 SELECT 语句应该区分大小写。但事实并非如此。

第一个选项是选择另一个 utf-8 排序规则(据我所知,唯一的非 ci 排序规则是 utf8_bin)。这是一个解决方案吗?第二种是在 SELECT 语句中使用 BINARY:

select col1, col2
from table1
where BINARY col3='CasE_sENsiTive';

这很简单,但它至少会降低性能 x10 倍甚至更多。我的表有 1 个索引,没有 BINARY 也能正常工作(没有索引 = 慢)。

我的情况有什么解决方案?

谢谢。

最佳答案

您可以通过以下方式提高区分大小写搜索的性能:

select col1, col2 from table1 where col3='Case_sEnsiTive' AND BINARY col3="CasE_sENsiTive";

但是,如果没有充分的理由使用不区分大小写的排序规则,我强烈建议使用 utf8_bin 作为排序规则。

关于mysql, utf-8 列 : how to select only case-sensitive?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10237129/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com