gpt4 book ai didi

mysql - 包含加密数据的 BLOB 上的索引

转载 作者:行者123 更新时间:2023-11-29 08:37:22 25 4
gpt4 key购买 nike

我的表中有一堆 BLOB 类型的列。这些列中包含的数据使用 MySQL 的 AES_ENCRYPT() 函数进行加密。其中一些字段正在我正在构建的应用程序的搜索部分中使用。在经常访问的列上放置索引是否值得?我不确定它们是 BLOB 的事实或数据本身已加密的事实是否会使索引变得毫无用处。

编辑:以下是有关我的具体案例的更多详细信息。有一个大约有 10 列的表,每个列都是 BLOB。插入到该表中的每条记录都将使用 AES_ENCRYPT() 函数进行加密。在我的应用程序的搜索部分,用户将能够输入他们的查询。我接受他们的查询并像这样 SELECT AES_DECRYPT(fname MYSTATICKEY) AS fname FROM some_table 解密它,以便我可以使用 LIKE 子句执行搜索。我很好奇的是,索引是否会索引加密数据而不是解密返回的实际数据。我猜测,如果索引仅应用于加密的二进制字符串,那么它根本不会提高性能。我这样说有错吗?

最佳答案

注意以下几点:

因此,IMO,您的猜测是正确的 - 索引不会帮助您提高搜索性能。

请注意,“为加密列建立索引”是一个相当常见的问题 - 网上关于它的文章很少。例如(尽管这已经很老了并且对于 MS SQL 来说它确实涵盖了一些想法):http://blogs.msdn.com/b/raulga/archive/2006/03/11/549754.aspx

另请参阅:What's the best way to store and yet still index encrypted customer data? (最上面的答案链接到我在上面找到的同一篇文章)

关于mysql - 包含加密数据的 BLOB 上的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14899704/

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