关于数据库索引的问题!

NetVan 2003-07-24 02:34:25
我先建一个测试用的表。用循环自动加了20万的数据。
表bb
id int
name char(10)
age char(10)
sex char(10)
在name上建了一个索引后。
sql="select * from bb where age like '123' "
速度非常快和建之前差别很大。
但在自已的数据库在
id
name char(50)
sql="select * from bb where age like '123' "
在索引和没有索之前速度没有差别。

我不知道这是什么原因引起的。请大家帮忙分析一下呀。

...全文
35 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
NetVan 2003-07-24
  • 打赏
  • 举报
回复
谢谢大家。原来跟asp里面的语句还有关系。
rs.open sql,conn,1,1
不能利用索引
set rs=conn.execute(sql)
可以利用索引
skyzj 2003-07-24
  • 打赏
  • 举报
回复
按照正常理解,age字段的查询速度与name字段的索引无关,
那么为什么索引建立前后速度会有大的区别?
woyaofengle 2003-07-24
  • 打赏
  • 举报
回复
在name见索引
只有使用NAME是有效果
我也同样
caiyunxia 2003-07-24
  • 打赏
  • 举报
回复
在name见索引
只有使用NAME是有效果
WHERE AGE 。。没有效果
caiyunxia 2003-07-24
  • 打赏
  • 举报
回复
如果是 '%aaa%'索引无效
是'aaa%'索引有效,等同>=aaa and <=aaa+zzzzzzzzzzzzzzzzzzzzzzz
caiyunxia 2003-07-24
  • 打赏
  • 举报
回复
如果是 '%aaa%'索引无效
是'aaa%'索引有效,等同>=aaa and <=aaa+zzzzzzzzzzzzzzzzzzzzzzz
sdhdy 2003-07-24
  • 打赏
  • 举报
回复
在NAME上建的索引,和AGE的查询没什么关系。
start1127 2003-07-24
  • 打赏
  • 举报
回复
like如果前面有%就没有用索引(如里like '%keyword%',否则还是有用的。
此外,楼主的快慢确实和索引无关
f30 2003-07-24
  • 打赏
  • 举报
回复
用了LIKE查询以后好象索引就不起作用了
liuyun2003 2003-07-24
  • 打赏
  • 举报
回复
使用LIKE操作符的时候,索引的作用并不明显的。不过,如果你把类型改成VARCHAR看看。我想能快不少。
愉快的登山者 2003-07-24
  • 打赏
  • 举报
回复
关于age的查询,应该与name上建的索引无管。
loverforever 2003-07-24
  • 打赏
  • 举报
回复
你的前一个表字段多。SELECT * 需要把所以有字段都找出来
建索引后效果明显
后一表就一个字段建索引效不明显是因为只有一个字段。

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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