社区
PowerBuilder
帖子详情
怎样在数据窗口的一列int型值中查找一个值是否存在,十分要求速度!(替代方案也可)
Steve_csdn
2003-01-23 12:41:24
如题,谢谢指教。
...全文
73
20
打赏
收藏
怎样在数据窗口的一列int型值中查找一个值是否存在,十分要求速度!(替代方案也可)
如题,谢谢指教。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
20 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
chinalht
2003-01-31
打赏
举报
回复
排序后用折半查找,应该就可以了吧.
Steve_csdn
2003-01-28
打赏
举报
回复
代替方案??
我想用多台服务器同时协作来完成,不知大家有什么高见??
Steve_csdn
2003-01-28
打赏
举报
回复
我就是这样想的,那位可以具体指教一下?谢谢
Leehunter
2003-01-28
打赏
举报
回复
每秒几万次的查询?是否算过需要什么样的机器?
数据库肯定是不行的了。可以考虑用多台服务器同时协作完成。最好接收后就根据数据范围提交给某台服务器查询,也许能提高数据。
booksfount
2003-01-28
打赏
举报
回复
用存储过程可否?
编程夜猫
2003-01-27
打赏
举报
回复
以上的方法还不能满足你的要求,我看你只好认真考虑一下从你接收数据到检索判断等一连串的处理,是否仍有可能提高速度,尽量优化你的处理过程。
Steve_csdn
2003-01-26
打赏
举报
回复
索引是早就建了的,
现在的问题不是数据库性能,而是代替方案,
因为再快的数据库服务器也不能完成每秒几万次的查询。
liuyxit
2003-01-26
打赏
举报
回复
用这个应是最快的:
给该字段建索引,
select count() from table where 字段名=:变量值;
因为:在DBMS里查询是最快的,特别是记录多。(自己有优化),查询后只传回一个值,省了很多记录的传输。
xiezhsh3
2003-01-26
打赏
举报
回复
同意: liuyxit(工作太多,压力太大!) 的意见, 增加该列的索引可以提高检索速度的
tchatcha
2003-01-25
打赏
举报
回复
up
jjweid
2003-01-24
打赏
举报
回复
find还不行?
用select count(*)呢?
sduzjw
2003-01-24
打赏
举报
回复
使用SQL语句吧,相对来说会快些,不要把大量的数据取到客房端,这样会增加系统的负担,使系统变慢
Steve_csdn
2003-01-24
打赏
举报
回复
实际情况本来是这样的,
数据库里有一个表,这个表只有一列,而且基本不更新,大约有100万条int型数据,整个系统要做的是连续接收一个由int型数据组成的数据包流,判断
其中的每一条数据是否存在于表中,每秒大概要判断几万次。
我想用多台服务器同时协作来完成,不知大家有什么高见??
Leehunter
2003-01-24
打赏
举报
回复
把数据检索到本地来提高速度本来就是错误的思路。
如果你的数据量少的话,我相信本地的速度肯定可以忍受,并且与直接在数据库查询等效。
如果你的数据量大的话,那么把数据提取到本地所花的时间会更多。
所以,还不如直接在数据库中查询,看是否存在。
zzutligang
2003-01-24
打赏
举报
回复
看来你只有将这一列的数据另行保存到一个数组或其他的地方,然后对这些数据排序,这些操作可以在检索数据的时候完成,不影响你的查找时间。然后需要的时候利用二分法查找,或则其他的查找方法(可以参考数据结构的书),如果这样还不行的话,那你就祈祷上帝帮你的忙吧!!!
gogg
2003-01-23
打赏
举报
回复
long ll_find
ll_find = dw_1.find("字段=" + string(要查找的值),1,dw_1.rowcount())
在循环语句里,如果数据窗口的总行数不变,可以先求出总行数,用总行数变量代替最后一个参数,会提高查找速度。如果连续查找,可以用ll_find + 1作第二参数。
andyzq
2003-01-23
打赏
举报
回复
使用find()函数,可以查找datawindow中任意类型的值
boyliulang
2003-01-23
打赏
举报
回复
long ll_found, ll_text
ll_text = 4
ll_found = dw_1.Find( "int_field = long('"+string(ll_text)+"')
1, dw_1.RowCount())
if ll_found > 0 then
dw_1.scrolltorow(ll_found)
end if
具体的你可以参考pb帮助
Steve_csdn
2003-01-23
打赏
举报
回复
谢谢几位,
不过我试了一下,直接遍历的方法慢的没法用,
find虽然比直接遍历快10倍,还是太慢,还不如从数据库中直接查询。
我最关心的是速度,之所以要把表读到本地数据窗口,就是想快些,无他。
(替代方案也可)
shahand
2003-01-23
打赏
举报
回复
for i = 1 to dw_1.rowcount
if = then
lb_exsist = true
exit
end if
next
SQL
中
查找
重复
数据
的四种方法
本文概述了四种 SQL 技术来检测和处理这些重复
数据
:使用GROUP BY和HAVING识别重复行的分组,采用诸如ROW_NUMBER()的
窗口
函数进行高效分析,利用EXISTS操作符检查特定的重复条件,以及执行自连接以比较同一表
中
的行。SQL
中
的EXISTS操作符提供了另一种检查满足特定条件的行
是否存在
的方法,这使得其在识别重复
数据
时特别有用。重复
数据
的存在可能导致以下几个问题。让我们看看如何从表
中
的完全重复项
中
删除行,可使用公共表表达式(CTE)和ROW_NUMBER() 函数的组合。
Microsoft Power Platform 基础到实战(3)-Power BI (1)-
数据
分析表达式 DAX(1)
数据
分析表达式 (DAX) 是在 Analysis Services、Power BI 以及 Excel
中
的 Power Pivot 使用的公式表达式语言。DAX 公式包括函数、运算符和
值
,用于对表格
数据
模型
中
相关表和列
中
的
数据
执行高级计算和查询。函数是表达式
中
的命名公式。大多数函数都包含必需和可选的实参(亦称为“形参”)作为输入。函数在执行后返回
值
。DAX 包括一些函数,可用于使用日期和时间执行计算、创建条件
值
、处理字符串、基于关系执行
查找
以及循环访问表以执行递归计算。
MySQL 单字段多
值
问题如何处理?
比如用户可以选择多个兴趣标签,或者一篇文章可以属于多个分类。这种情况下,如果我们直接在
一个
字段里存储多个
值
(如使用逗号分隔的字符串),虽然看似简单,但其实会带来很多后续的问题。今天我们就来深入探讨一下。
找出数组
中
三个数之和等于0的所有组合
由于结果
中
的
数据
需要有序,所以我们需要先将数组排序,然后循环,将每个数字作为target时,看看能否找到匹配的,由于有序,我们就可以用滑动
窗口
来实现匹配搜索。例如,给定的数组 S = {-10 0 10 20 -10 -40},解集为(-10, -10, 20),(-10, 0, 10)给出
一个
有n个元素的数组S,S
中
是否有元素a,b,c满足a+b+c=0?还需要注意的点是需要去重,由于已经排序了,所以相等的
值
肯定是相邻的,直接找三个数之和等于0比较麻烦,直接找替代
方案
,b+c = -a;
【UE4】TMap的使用
TMap在 TArray 之后,虚幻引擎 4(UE4)
中
最常用的容器是 TMap。此容器是
一个
关联式容器,意味着每个键均拥有
一个
关联
值
,可通过键高效地
查找
值
对象。存在两种映射类型:TMap 和 TMultiMap。TMap 的键为唯一。键已存在时插入
一个
新的键
值
对将导致现有的对被替代。TMultiMap 的键不为唯一,因此新添加的对不会替代现有的对。TMapTMap 主要由两个类型定义 - 键类型...
PowerBuilder
1,108
社区成员
66,453
社区内容
发帖
与我相关
我的任务
PowerBuilder
PowerBuilder 相关问题讨论
复制链接
扫一扫
分享
社区描述
PowerBuilder 相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章