苏飞论坛

标题: 内连接(INNER JOIN)有关执行效率的疑问 [打印本页]

作者: lyg1112    时间: 2015-3-16 11:24
标题: 内连接(INNER JOIN)有关执行效率的疑问
现有两个表,tb_article(文章信息表,内含栏目id),tb_category(栏目表),
两种查询方式,从150w数据中查寻出2w条满足条件的记录
[SQL] 纯文本查看 复制代码
set statistics time on
select top 20000
tb_article.id,tb_article.title,tb_article.categoryid,
tb_category.id ,tb_category.cname

from tb_article,tb_category
where tb_article.categoryid=tb_category.id and
tb_article.title like'%多%'


执行时间为:714毫秒
--------------------
[SQL] 纯文本查看 复制代码
set statistics time on

select top 20000
tb_article.id,tb_article.title,tb_article.categoryid,
tb_category.id ,tb_category.cname
from tb_article inner join tb_category
on tb_article.categoryid=tb_category.id
where tb_article.title like'%多%'

执行时间为736毫秒,

问题1:为什么二者在执行时间上没什么差别?
问题2:数据量不大吧?为什么需要这么长的时间,查询出10w条的时候需要4秒钟,

title,categoryid设置了索引

有什么意见或看法呢?告诉我吧

作者: Cheungnotes    时间: 2015-3-16 12:06
受教了学习中……
作者: 站长苏飞    时间: 2015-3-16 12:43
tb_article.title like'%多%' 我感觉关键是这个慢,Like是很慢的,这个除非你建全文索引会快一些
作者: lyg1112    时间: 2015-4-22 13:15
站长苏飞 发表于 2015-3-16 12:43
tb_article.title like'%多%' 我感觉关键是这个慢,Like是很慢的,这个除非你建全文索引会快一些

全文索引怎么建,  如果在视图中要怎么弄?
作者: 站长苏飞    时间: 2015-4-22 13:22
lyg1112 发表于 2015-4-22 13:15
全文索引怎么建,  如果在视图中要怎么弄?

右建就看到了,具体方法根据提示来吧,或者事先查下百度
作者: lyg1112    时间: 2015-4-22 13:30
站长苏飞 发表于 2015-4-22 13:22
右建就看到了,具体方法根据提示来吧,或者事先查下百度

右键去定义的话显示没有可用的唯一索引,百了下 说视图中本来没有数据的  说了些什么实物话之类之类的好多,
作者: 站长苏飞    时间: 2015-4-22 13:44
lyg1112 发表于 2015-4-22 13:30
右键去定义的话显示没有可用的唯一索引,百了下 说视图中本来没有数据的  说了些什么实物话之类之类的好 ...

需要一个主键,不然没办法建




欢迎光临 苏飞论坛 (http://www.sufeinet.com/) Powered by Discuz! X3.4