我正在开发一个Web应用程序,该应用程序将允许用户编写消息并将其存储在数据库中,以供其他一些用户访问。我已经准备好了用户身份验证系统,并且加密系统工作正常,但我对用于存储消息的数据类型感到困惑。
我正在使用带有PHP的MySQL数据库来存储使用openssl AES-256
加密的值。生成的密文是二进制的,我需要将它们存储在数据库中。
现在我可以尝试使用 base64
对二进制字符串 a 进行编码,但它将数据大小从 33% 增加到 100%。
消息可能很长,我希望我的数据库不会被性能或存储功能搞砸。出于某些原因,我还必须坚持使用MySQL。
那么我应该使用 BLOB 还是 TEXT?哪一个在性能方面更有效率?而且,BLOB
的类似类型的TINYTEXT, TEXT, MEDIUMTEXT, or LONGTEXT
或相应的类型应该是什么?
我想确保同时满足更快的性能和存储功能。
感谢您的帮助!
是的,如果您可以将值存储在"TEXT"数据类型中会更好。有关更多详细信息,请阅读此 http://dev.mysql.com/doc/refman/5.5/en/blob.html。
关于存储要求的知识,您可以阅读此 http://dev.mysql.com/doc/refman/5.5/en/storage-requirements.html。
希望对您有所帮助。