gpt4 book ai didi

sql - 在 sql 中插入查询或更新哪个更快?

转载 作者:行者123 更新时间:2023-12-05 08:34:50 24 4
gpt4 key购买 nike

在我的应用程序中,我要求插入 600 行,每行有 10 个参数,这意味着我每 5 秒插入 6000 条数据。所以我删除以前的值并每 5 秒插入 600 行。另一种方法是我可以使用 where 子句更新以前的数据。所以想知道哪个性能问题最少。另外,如果我有几百万行并且如果我想选择 ID 50000 的数据。那么我会这样写

select * from mytable where ID=50000.

一段时间后,如果我需要 id 90000 的数据,那么 sql server 会从 ID(ID=1) 开始搜索每个 select 语句,还是直接移动到 ID=90000我的查询是 sql server 会从 id=1 开始查找直到它匹配 where 子句或它如何搜索吗?

EDIT ID 为主键,自增

最佳答案

我完全同意 Aakash 的回答,即 UPDATE 很可能是这里更快的方法。


不过,我想澄清一个关于关系数据库如何工作的潜在误解(或缺乏理解):

If i need the data for id 90000 then will the sql server search from beginning ID(ID=1) for every select statement or it will directly move to ID=90000

假设 ID 是您表中的主键(或定义了唯一索引),那么 SQL Server 将直接查找 ID=90000 的行(实际上几乎每个关系数据库都会这样做那样)。

查找 id=1 的行与查找 ID=90000ID=90000000 的行所花费的时间相同

我建议您花一些时间阅读 SQL Server 手册,以了解关系数据库的工作原理。您可能对以下主题感兴趣:

此外,您可能想看看“Use The Index Luke”:http://use-the-index-luke.com/

有很多关于索引如何工作以及数据库如何使用它们的非常好的信息。

关于sql - 在 sql 中插入查询或更新哪个更快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18628610/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com