gpt4 book ai didi

MySQL hex() 与 unhex()

转载 作者:行者123 更新时间:2023-11-29 01:53:36 30 4
gpt4 key购买 nike

在 MySQL 中存储二进制数据时,我使用 hex()unhex()功能。但是我可以通过两种方式搜索二进制数据:

方法一

select * from tbl
where
id=unhex('ABCDABCDABCDABCDABCDABCDABCDABCD')

方法二

select * from tbl
where
hex(id)='ABCDABCDABCDABCDABCDABCDABCDABCD'

这两种方法都有效,但我的直觉是方法 1 更好,因为 unhex 只处理输入值。函数,而在方法 2 中,id 中的每个值表格的列将通过 hex 放置功能。

这个推理是否正确,或者 MySQL 会优化查询以防止这种情况发生?选择一种方法而不是另一种方法还有其他原因吗?

最佳答案

当您在列上使用任何函数时,使用索引变得困难或不可能。我不确定 MySQL 是否支持带函数的索引,但它仍然比仅使用列更复杂。

另外,正如您所说,该函数必须针对每一行运行,而另一行仅针对输入数据运行一次。

出于这些原因,请使用 unhex 形式。

关于MySQL hex() 与 unhex(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34813563/

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