请教,数据库表做了索引后,运行程序 当查询数据时 如果查询的语句有数据时很快,没有数据很慢是怎么回事

2025-03-23 04:51:06
推荐回答(5个)
回答1:

表有索引时,你的查询语句中引用了这个条件,检索数据时先进行索引查找,找到了索引项,再根据索引项指向的位置找到数据,这样速度就会很快。如果索引中没有相应的项,就要进行表扫描来找数据,速度自然会慢。

回答2:

你的这种情况很多:
第一:
索引在海量数据时候很有用处,就像你查字典,通过目录找一个字很快,但是你的字典就一个字,还通过索引反倒慢了。
--------------------------------------------------------------------
第二:
你的索引覆盖了部分部分盘面,结果还是需要全表扫描,这种情况不多见,一般索引都是全表列索引,没有丢弃的现象。
---------------------------------------------------------------------
第三:你应该采用过亿条目数据来测试一下,这时候就知道怎么回事了。

回答3:

select * from Table where typeid=1 order by typeid desc
如果表里没有这个typeid=1的数据时就会很慢

很慢,然后返回的结果是一条数据也没有? 是这样情况么?

回答4:

加了typeid=1数据库可以根据索引查找到数据,没加,它要查所有数据,你说慢不慢?

回答5:

多表查询对建立关系和索引的要求

父子表中, 子表建立外键,应该自动建立一个索引
请参考