【发布时间】:2019-01-17 20:39:56
【问题描述】:
当我们在一个表中有 100 万行时,使用指定的命令(如 Select * From TBL_USERS Where ID = 20)处理有关此表的任何内容都会变得非常慢,但如果我们处理任何其他表,它会变得更快更容易,这表明缺陷不在数据库中。
这种现象有解释和解决办法吗?
【问题讨论】:
-
"...这种现象"我不确定这里的用词是否正确。
-
select * 带回每一列。它最有可能导致表扫描。 100 万行需要扫描很多(也需要返回)。如果您只列出您需要的列,它会更快(假设您有覆盖索引)。我猜你在那个 ID 上也没有索引......
-
@scsimon 还有另一种方法可以在所有这些行之间获取一些行吗?
-
您的用户表中有一百万行?这个问题既模糊又广泛。
-
我不知道你在问什么@MohamedIbrahim。 Read this 并为我们提供 TBL_USERS 的 DDL(创建表,创建索引)脚本。
标签: sql-server vb.net