我正在开发一个数据库,该数据库的表用户具有列user_id和user_service_id。我的应用程序需要获取user_service_id是特定值的所有用户。通常,我会向user_service_id列添加一个索引,并运行如下所示的查询:select user_id from user where user_service_id = 2;
由于列user_service_id的基数远小于3-4,而且表中有大约10M个条目,所以查询最终将扫描几乎整个表。我想知道这种用
我知道,当使用VARCHAR(MAX)/NVARCHAR(MAX)列时,数据被存储为out of the row --数据行将有一个指针指向存储“大值”的另一个位置。我有以下问题:如果使用表的clustered index读取整个记录,那么存储在行之外的字段也会读取吗?VARCHAR(MAX)或NVARCHAR(MAX)被