求 sql 高手帮帮忙,我怎么样可以加快 select 速度?有几百万条数据

2015-02-04 15:59:07 +08:00
 QQ16748717
我的库里有几百万条数据,但我想用表a的字段内容查表b存在的条数,然后把最多的前5条排在前面

select top 5 *,(select top 1 count(ID) from DataList where charindex(DataType.Name,MaterialsName)>0) as DataListCount from DataType order by DataListCount desc

但是我发现这样非常非常慢,10分钟都出不来,有什么好的办法 可以提高效率么?求高人解答
2321 次点击
所在节点    问与答
5 条回复
line
2015-02-04 18:57:07 +08:00
name那边要全文索引
scusjs
2015-02-04 19:06:45 +08:00
建索引
em70
2015-02-04 19:11:07 +08:00
才几百万,有索引就不会慢,另外已经order by了,top5可以换limit 5
JamesRuan
2015-02-05 08:02:17 +08:00
limit只有MySQL才有吧
QQ16748717
2015-02-05 11:26:10 +08:00
@line 我是初学的,在网上看了半天也不知道怎么搞索引呢,有什么教程么?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/168221

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX