一个关于查询的问题,在线等待,

xhai 2003-08-23 11:21:08
本人正在做一个人事管理系统,在做一个查询时,不知为何特别慢,语句如下:
adsRelation.Locate('sRelation',Node.Text,[]);
有没有更快的查询方法.解决问题的高分送上.
...全文
40 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
fhuibo 2003-08-24
  • 打赏
  • 举报
回复
建立索引
wjt1982 2003-08-24
  • 打赏
  • 举报
回复
不可能吧,如果是这样的话,就是SQL中建索引,或DELPHI中,  .index=sRelation
xhai 2003-08-24
  • 打赏
  • 举报
回复
多谢各位的帮忙,问题已经得到了较好的解决,只是还是运行起来还是有一点迟钝的的感觉,哪就是刚打开这个表的时候有三四秒钟的停顿,不知各位可有什么高见.
qianguob 2003-08-24
  • 打赏
  • 举报
回复
建个索引。
wyr521 2003-08-24
  • 打赏
  • 举报
回复
SQL语句查会快
Spqk005 2003-08-23
  • 打赏
  • 举报
回复
写SQL语句查会快很多的
Dphiwarrior 2003-08-23
  • 打赏
  • 举报
回复
加了索引能提高一倍的查询速度,
你在数据库中加索引是符合数据库的设计规则的.不是吗?
雨后阳光2000 2003-08-23
  • 打赏
  • 举报
回复
用SQL语句查询
'select * from a where a.sRelation like ''%'+Node.Text+'%'''
jxc163 2003-08-23
  • 打赏
  • 举报
回复
你可以在做库的时候建呀
xhai 2003-08-23
  • 打赏
  • 举报
回复
在DELPHI中如何建立INDEX,
z_hongbao 2003-08-23
  • 打赏
  • 举报
回复
将字段'sRelation'建立Index,字段类型尽量用char,varchar,nchar,nvarchar等
checkyvc6 2003-08-23
  • 打赏
  • 举报
回复
这么小的查询没有必要用存储过程
直接用sql查询定位
xhai 2003-08-23
  • 打赏
  • 举报
回复
只有三百名记录,好像花了半分钟,请高手赐教.
ccz78 2003-08-23
  • 打赏
  • 举报
回复
写为SQL好一点了如果有很多语句的话可以写为存储过程,那样的执行效果会更好一点了
lxh00789 2003-08-23
  • 打赏
  • 举报
回复
支持10楼说的
martinloyee 2003-08-23
  • 打赏
  • 举报
回复
建议不要用database控件locate
改用tabel控件或者query控件
yujohny 2003-08-23
  • 打赏
  • 举报
回复
我想肯定是你其他地方浪费了时间,这条Locate不可能慢程这么离谱,
建议你设置断点跟踪一下,有可能是AfterScroll中的代码反复执行了
xiaoyuer0851 2003-08-23
  • 打赏
  • 举报
回复
加索引,然后使用sql 语句查询,这样就 比较快
nhdj 2003-08-23
  • 打赏
  • 举报
回复
同意楼上,写sql会快很多
版本:presto-server-0.214.tar软件版本 presto-cli-0.214-executableCentOS71、presto的起因 hadoop ---hdfs----MR(java)-----hivehive底层原理用MR,速度比较慢,公司hadoop集群主要集中于晚上到凌晨,平日工作时间负载不是很高。但在工作时间内,公司业务人员有实时查询的需求,现在主要借助于hive提供业务人员的查询。hive是基于MR类的SQL查询工具,他会输入的查询SQL解析为MapReduce,能极大的降低使用大数据门槛,让一般的业务人员可以直接准对大数据进行查询,但是有一个利弊,它的查询基于MR,会让人等待比较着急,等待的时间可能是几个小时或者一天。 spark基于内存提高改良的hive,sql,现在factbook在hive上面开发一套利器,准对hive可以通过sql语句快速查询,presto。2、Facebook为何开发Presto  Facebook的2011的数据仓库存储在少量大型hadoopfs集群,Hive是FaceBook在几年前专门为Hadoop打造的一款数据仓库工具,在以前,facebook的科学家和分析师一直靠hive进行数据分析.但hive使用MR作为底层计算框架,是专为批处理设计的,但是随着数据的不断增多,使用hive进行一个简单的数据查询可能要花费分钟或者几个小时,显然不能满足查询需求,FaceBooke也调研了其他比hive更快的工具,但是他们需要在功能有限的条件下做简单操作,以至于无法操作Facebook庞大的数据要求。2012年开始研究自己的框架--presto,每日可以超过1pb查询,而且速度比较快,faceBook声称Presto的性能比hive要好上10倍或者100倍,presto和hive都是facebook开发的 Presto是一个开源的分布式SQL查询引擎,适用于交互式查询,数据量支持GB到PB字节。Presto的设计和编写完全是为了解决Facebook这样规模的商业数据仓库交互式分析和处理速度的问题Presto可以做什么 Presto支持在线数据查询,包括Hive kafka Cassandra关系数据库以及专门数据存储,一条Presto查询可以将多个数据源进行合并,可以跨越整个组织进行分析。Presto以分析师的需求作为目标,他们期望相应速度小于1秒到几分钟,Presto要么在使用速度的快的昂贵的商业方案,提高内存,要么是消耗大量的硬件进行快速查询。(128G 64G)本套课程教给如何在企业环境中使用Presto技术。

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧