小编Chr*_*ter的帖子

如何使用FireDAC在Firebird 3.0上启用WireCompression

我希望使用WireCompression连接到Firebird Server 3.0。自3.0版以来,这是一项新功能,我很难做到这一点,而我能找到的唯一文献记录的指令是在firebird.conf中将WireCompression设置为TRUE,并使用连接参数“ wirecompression = true”。

这是我到目前为止的内容:

firebird.conf:

# Firebird configuration file for Firebird 3.0 64-bit SuperServer
# Optimized by IBSurgeon (www.ib-aid.com) for HQbird distribution.
#

ServerMode = Super

#DatabaseAccess = Full
#RemoteAccess = true
#ExternalFileAccess = None
#UdfAccess = Restrict UDF
#TempDirectories =
#AuditTraceConfigFile =
#MaxUserTraceLogSize = 10

DefaultDbCachePages = 50000

#DatabaseGrowthIncrement = 128M
#FileSystemCacheThreshold = 64K
#FileSystemCacheSize = 0
#RemoteFileOpenAbility = 0

TempBlockSize = 2M
TempCacheLimit = 364M

AuthServer = Srp
AuthClient = Srp, Win_Sspi, Legacy_Auth
UserManager = …
Run Code Online (Sandbox Code Playgroud)

compression delphi firebird firedac firebird-3.0

5
推荐指数
1
解决办法
1244
查看次数

Firebird SQL:由于合并而查询缓慢或者可以重写

我遇到一些常用查询的性能问题.

SELECT
v.id,
coalesce((SELECT sum(amount) FROM artjournal WHERE variant_ref=v.id AND storage_ref=1 AND atype_ref in (1,3,4)), 0) "fv", 
coalesce((SELECT sum(amount) FROM artjournal WHERE variant_ref=v.id AND storage_ref=1 AND atype_ref=2), 0) "ivo", 
coalesce((SELECT sum(amount) FROM artjournal WHERE variant_ref=v.id AND storage_ref=1 AND atype_ref=5), 0) "iio", 
coalesce((SELECT sum(amount * mvalue) FROM artjournal WHERE variant_ref=v.id AND storage_ref=1), 0) "vw"
FROM productvariant v
Run Code Online (Sandbox Code Playgroud)

因为artjournal是一张大桌子,每天都有成千上万的新唱片,演出变得越来越糟糕.

我有所有ID字段的索引.

有没有办法重写这个语句来加快速度?或者我可以使用不同的方式从artjournal表中检索数据,如果结果为null,则返回0?

谢谢你的想法,

克里斯蒂安

sql firebird coalesce

2
推荐指数
1
解决办法
282
查看次数

标签 统计

firebird ×2

coalesce ×1

compression ×1

delphi ×1

firebird-3.0 ×1

firedac ×1

sql ×1