SQL 查询运行了很长时间

Posted

技术标签:

【中文标题】SQL 查询运行了很长时间【英文标题】:SQL query is running for very long time 【发布时间】:2018-02-15 13:28:39 【问题描述】:

帮我优化下面的sql,运行了好几个小时 数据库:sybase

select
    too.toID,too.toName,frm.fromID,frm.fromName<br>
from
    entityClientTempTable frm, entityClientTempTable too
where
    frm.fromServerId = too.toServerId 
and
    frm.fromID < too.toID 
and 
    lower(substring(frm.fromName, 0, CHARINDEX(''------'',frm.fromName))) like lower(too.toName))

entityClientTempTable 中的记录数:大约一百万 entityClientTempTable 表上没有索引 entityClientTempTable 是一个临时表。

【问题讨论】:

您能否详细说明您的查询的预期结果?最终目标是什么? 【参考方案1】:

你能不能试试这个:

select too.toID,too.toName,frm.fromID,frm.fromName
from entityClientTempTable frm
inner join entityClientTempTable too on frm.fromServerId = too.toServerId 
       and frm.fromID < too.toID
where lower(substring(frm.fromName, 0, CHARINDEX(''------'',frm.fromName))) like lower(too.toName))

【讨论】:

以上是关于SQL 查询运行了很长时间的主要内容,如果未能解决你的问题,请参考以下文章

数据库可视化查询运行了很长时间而不产生任何输出

JSFL已经运行了很长时间

sql 检查长时间运行的查询

MySQL管理长时间运行查询

SQL 调优,长时间运行的查询 + rownum

sql 在MySQL中查找长时间运行的查询