【发布时间】:2019-05-30 13:29:22
【问题描述】:
我可以通过编程语言(如 php)传递给数据库的数据有哪些限制。 假设我的数据库中有 100 万条记录,并且我手中有 100 万条数据,我想要进行存在检查。如果我使用类似的查询
select id from table where id in (array of 1 million data)
会发生什么?这个请求甚至会到达数据库吗? 如果达到,有什么可能性,它返回数据的速度是否会比数据库搜索 id 的一百万个查询或具有数百万个 for 循环的完整选择数据调用更快。
只是为了好奇!
【问题讨论】:
-
我们使用 .net 做类似的事情,我们将值批量插入到临时表中,然后执行 ....IN (SELECT ID FROM tab...) 虽然不超过 100 万,但它仍然可以正常工作
标签: php sql sql-server