我想在MySQL查询中压缩MySQL结果或字符串,结果将发送到delphi应用程序。我用它来加速连接。 问题是如何从delphi中的MySQL结果中解压缩字符串。
这是我的示例查询
Select Compress(AColumn), Compress(BColumn) from ATable
答案 0 :(得分:3)
压缩用于存储
MySQL中的compress
关键字并不是为了减少网络流量,而是为了减少存储需求
压缩的详细信息未记录,可能因服务器而异。
COMPRESS(string_to_compress)
压缩字符串并将结果作为二进制字符串返回。此函数要求MySQL使用压缩库(如zlib)进行编译。否则,返回值始终为NULL。压缩的字符串可以使用
UNCOMPRESS()
解压缩。
请注意,解压缩的能力取决于编译MySQL版本的压缩库。
如果要进行网络压缩,请修改连接字符串
如果要压缩网络数据,请在连接设置中指定:
将以下字符串添加到Properties
属性
UseCompression = true;
可在此处找到所有连接属性的列表:
https://www.connectionstrings.com/mysql/
可以在此处找到更多信息:http://dev.mysql.com/doc/refman/5.0/es/connector-net-examples-mysqlconnection.html#connector-net-examples-mysqlconnection-connectionstring
(请注意,此信息相当陈旧,但我正在调整新版本的网址,导致找不到404页错误。)
请注意,在Delphi中connectionstring
由属性提交了大量文章:
- 数据库
- 港口
- 密码
等
在Properties
属性中,您只提供Delphi在其他属性中尚未涵盖的ConnectionString
个选项。多个参数由;
分隔。
进一步的并发症
不同的组件包使用不同的名称来添加可以放入ConnectionString的额外数据
ZEOS称之为properties
其他人称之为其他东西。