我有一个存储过程,它将一些动态 sql 转换为临时表或依赖于数据库设置的视图。这用于根据数据大小在不同客户端之间“调整”数据库功能,即临时表创建时间较长但设置时间较长,视图创建速度快但读取时间稍长。
我正在考虑将其扩展为包含内存优化表的选项,但如果不先完全声明它,就看不到如何使用内存优化表。
我目前的代码格式如下:
SELECT TOP 10 *
INTO FavoriteCustomers
FROM Customers
ORDER BY Spend DESC
如您所见,我没有声明表格,只是使用 select into。有什么办法可以选择内存优化表?我可以用:
sys.dm_exec_describe_first_result_set(@mySQLhere)
这为我传入的 TSQL 提供了一个列定义。然后使用此信息预先构建表并插入其中,但如果可能的话,我希望有一个更简洁的方法。
有没有人有任何解决方案?搜索只是让我了解如何将数据添加到 MOT 而不是 MOT 创建作为选择的一部分。
我知道这可能是不可能的,并且我确实有描述的工作,我只是觉得我可能在这里错过了更好的选择。
目前使用多台服务器,MOT功能只在SQL2016上实现。
提前谢谢了。