现有一字段 内容如下child_id
10,14
11,
11,13,14,15
22,23
11,12,14,15,17,18,22
22,24针对它的查询:
select * from 表名 where ','+child_id+',' like ',%'+ CAST(@CountryID AS VARCHAR) +',%' )要求:
表记录较多,30万条左右还在快速增长
表在别的系统中被调用,表的结构不能动(也不能在表的字段前后加逗号)
问题:如何利用到child_id这个字段的索引。以改进查询性能?
10,14
11,
11,13,14,15
22,23
11,12,14,15,17,18,22
22,24针对它的查询:
select * from 表名 where ','+child_id+',' like ',%'+ CAST(@CountryID AS VARCHAR) +',%' )要求:
表记录较多,30万条左右还在快速增长
表在别的系统中被调用,表的结构不能动(也不能在表的字段前后加逗号)
问题:如何利用到child_id这个字段的索引。以改进查询性能?
解决方案 »
- 不及时排名数据库设计
- 求助!!使用存储过程进行报表的统计
- 我思考了一天的sql语句,高手请看!
- 在自定义的涵数了怎么提示不能使用getdate()?大家进来看看.里面是我精减的代码
- 求写一个关于分页的sql语句
- [SQLServer 2000 Driver for JDBC]Error establishing socket
- 表名可以是变量吗?
- 请问SQL Server代理中的服务启动账户怎么设?
- 菜鸟请教有关SQL SERVER的简单问题
- OracleStartXXXX启动不起来,怎幺办?
- bcp "OrionNPM..nodestest"
- SQL Server 公用表达(CTE)里面可以定义变量和使用游标面吗?
create index idx ..(id)select * from #t where id like ',%'+ CAST(@CountryID AS VARCHAR) +',%' )表结构不清楚,这样顶多也就索引扫描,
like '%,'+
) or ( child_id like ',%'+CAST(@CountryID AS VARCHAR))
or ( child_id like ',%'CAST(@CountryID AS VARCHAR)+'%,')
)