select * from View_data t where ([CompanyName] like '%limited' or [Email] like '%cn') and not exists(select 1 from View_data where CompanyName=t.CompanyName and [AutoID] >t.[AutoID])这条数据执行的速度超慢...有没有快一点的写法就是 一个库里存有公司的产品信息 一条数据是由公司加产品组成
现在要根据[CompanyName] like '%limited' or [Email] like '%cn' 检索出满足条件的数据
因为公司对应了N个产品 所以简单的SELECT出来有很多重复的公司信息 现在的要求是只要不重复的公司信息
所以就用了上面的语句 但是执行时间超长... 有没有什么快速一点的查询方法
现在要根据[CompanyName] like '%limited' or [Email] like '%cn' 检索出满足条件的数据
因为公司对应了N个产品 所以简单的SELECT出来有很多重复的公司信息 现在的要求是只要不重复的公司信息
所以就用了上面的语句 但是执行时间超长... 有没有什么快速一点的查询方法
解决方案 »
- 我快疯了,这个语句为何就是不能执行啊???
- 如何解决csv导入SQL时数据里带‘,’的问题?
- 跨库操作需要创建链接服务器时执行sp_addlinkedserver时抛异常:用户没有执行此操作的权限
- SQL server交叉表查询结果能否以表格或是View的形式保存下来
- SQL Server Configuration Manager sql server 服务 远程过程调用失败。
- 使用osql 的-i 参数是,后面的路径有空格(如Program Files),在执行的时候报错,请问高手应该如何解决呀?
- sql 2005问题
- 类论坛排序(在线等,解决就结贴)
- 这样的管理软件有没有现成的啊?
- SQL 行转列
- sql语句合并兼求和
- 一個簡單的行轉列,用pivot應該怎麼寫啊?
select * from View_data t where ([CompanyName] like '%limited' or [Email] like '%cn') and not exists(select 1 from View_data where CompanyName=t.CompanyName and [AutoID] >t.[AutoID]) 你使用的是like本来效率就不怎么样,在CompanyName上都建上索引吧。
这句应该可以优化
CompanyName和Email列各加一个REVERSE的计算列,计算列上加索引,然后把上面那个条件改成 LIKE 'NC%'这样的形式
select * from View_data t where ([CompanyName] like '%limited' or [Email] like '%cn')
and [AutoID]= (select max([AutoID]) from View_data where [CompanyName] like '%limited' or [Email] like '%cn' and CompanyName=t.CompanyName)