通过xml类型字段查询速度为什么那么慢啊!!!超过6秒了……

自由小菜园 2011-08-30 10:06:17
一张表有一个备用字段存的是xml类型数据,然后查询时速度极慢,10万条数据根据条件统计记录数要6秒,彻底疯了我……
select count(id) from table1 where ready1.value('(ExtField/Quality)[1]','varchar(100)') like '%一般%'
...全文
266 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
自由小菜园 2011-09-01
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 liangck 的回复:]

xml字段也是可以建索引的。
[/Quote]
我是建过索引的,包括什么path索引 value索引都建了,没什么效果
自由小菜园 2011-08-30
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 ssp2009 的回复:]

SQL code

--试试exists
create table tb(name xml)
insert into tb
select '<ExtField><Quality>一般</Quality><CityCode>3301</CityCode></ExtField>' union
select '<ExtField><Quality>一般</Quality><CityCode>3301……
[/Quote]
一样的,也很慢
快溜 2011-08-30
  • 打赏
  • 举报
回复

--试试exists
create table tb(name xml)
insert into tb
select '<ExtField><Quality>一般</Quality><CityCode>3301</CityCode></ExtField>' union
select '<ExtField><Quality>一般</Quality><CityCode>3301</CityCode></ExtField>' union
select '<ExtField><Quality>高端</Quality><CityCode>3303</CityCode></ExtField>' union
select '<ExtField><Quality>中等</Quality><CityCode>3302</CityCode></ExtField>'

select count(*) from tb where name.exist('(.[ExtField/Quality="一般"])[1]')=1
自由小菜园 2011-08-30
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 fredrickhu 的回复:]

本来就是XML的数据 没什么好办法 呵呵
[/Quote]
连MVP都说没办法了,看来真的不行了……
--小F-- 2011-08-30
  • 打赏
  • 举报
回复
本来就是XML的数据 没什么好办法 呵呵
自由小菜园 2011-08-30
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 fredrickhu 的回复:]

给点你的测试数据和所需要的结果

XML的效率确实不高
[/Quote]
就是假如数据是这样的 然后我要统计一般,中等,高端各个数据量(很多字段省略了)
table1
id ExtField
2347 <ExtField><Quality>一般</Quality><CityCode>3301</CityCode></ExtField>
2345 <ExtField><Quality>高端</Quality><CityCode>3303</CityCode></ExtField>
2321 <ExtField><Quality>中等</Quality><CityCode>3302</CityCode></ExtField>
NBDBA 2011-08-30
  • 打赏
  • 举报
回复
这种用法本来就该知道快不了

几乎没法下手优化,除非从结构入手
--小F-- 2011-08-30
  • 打赏
  • 举报
回复
给点你的测试数据和所需要的结果

XML的效率确实不高
自由小菜园 2011-08-30
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ssp2009 的回复:]

用xml还用like?用exists多好
[/Quote]
求解,怎么用,谢谢
快溜 2011-08-30
  • 打赏
  • 举报
回复
用xml还用like?用exists多好
liangCK 2011-08-30
  • 打赏
  • 举报
回复
xml字段也是可以建索引的。
bigbluefox 2011-08-30
  • 打赏
  • 举报
回复
哦,路过,学习一下

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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