select t1.field1
from table1 t1
join table2 t2
on t1.id = t2.id
where t1.field2 = 'test'
假设表1中有1000万条记录,表2中有100万条记录。假设表1中的900万条记录满足 where 子句。假设表2中也只有15个。您可以运行这个 sql 语句,如果正确地编制索引,它将花费毫秒的时间,并在整个网络中返回15条记录,其中只有1列数据。或者,您可以发送包含两列数据的1000万条记录,然后分别发送包含一列数据的另外100万条记录,这些记录可以通过网络发送,并在 Web 服务器上进行组合。
当然,你也可以在任何时候都将数据库的全部内容保存在 Web 服务器上,如果你有大量的数据和数据不断变化的话,这就显得非常愚蠢了。如果你不需要关系数据库的素质那就别用。但是如果你这样做,那么正确地使用它。