- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
打开一个 TClientDataset,并获取包含 3 个 TBlobfields 的 10.000 行需要 3分钟 .
打开完全相同的数据,但将 BLOB 字段转换为 Varchar,需要 1 秒 !
唯一的区别是,TQuery(或 TsqlQuery)具有 TStringfields,而不是 TBlobfields。但数据是一样的。保存到文件的整个表大约为 3 MB。
我使用 TsqlQuery 或 TQuery 连接到(firebird)数据库得到相同的结果。
数据库位于运行 Firebird 2.1 的服务器上。在客户端上运行数据库时,差异消失了(都 < 1 秒),所以我想它一定是与网络流量有关的......
它变得更加奇怪:
Clientdataset 是否实际填充了 BLOB 字段并不重要。
因此,如果 clientdataset 只有 1 个持久字段(数字整数),则性能相同...
这个错误(?)对我来说是个大问题......我希望有人能解释一下......
最佳答案
在 Firebird FAQ website 上查看这篇文章
简而言之,它说:
关于performance - ClientDataset 性能 TBlobfields,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9753308/
打开一个 TClientDataset,并获取包含 3 个 TBlobfields 的 10.000 行需要 3分钟 . 打开完全相同的数据,但将 BLOB 字段转换为 Varchar,需要 1 秒
这是我的架构: Datasnap 客户端 Datasnap 服务器 Oracle 11 XE 我在客户端使用带有 TDSProviderConnection 的远程提供程序来访问我的数据集。 基本
我有一个 ftBlob 类型的 fkInternal 计算字段(在 TClientDataSet 中),其中包含 DataSnap 客户端应用程序中的 Blob。 该字段最初是空的,我们仅在实际需要
我想使用 SQL 命令将图像存储到数据库中,我知道使用 TBlobField.LoadFromFile 的其他方法等等,但是我们制作自己的 sql 命令来更新数据库,这就是我需要这样做的原因。 我该怎
我想使用 sql 将图像存储在数据库中,但似乎无法让它工作: qry.SQL.Clear; qry.Sql.Add('update tbl set pic = :blobVal where id =
我有一个具有以下结构的简单数据集: Server.FieldDefs.Add('Code', ftString, 5); Server.FieldDefs.Add('Memo', ftMemo, 0)
我是一名优秀的程序员,十分优秀!