sql - 来自 BlitzIndex 的 ASP.NET 成员资格表和边界重复键
问题描述
我正在使用带有站点的 ASP.NET 成员资格设置,并且正在针对它运行 BlitzIndex。它说以下项目是边界重复键。将它们组合或摆脱重复存储的额外数据的最佳方法是什么?
CREATE INDEX [aspnet_Users_Index2] ON [Test].[dbo].[aspnet_Users] (
[ApplicationId]
, [LastActivityDate]
) WITH (FILLFACTOR=100, ONLINE=?, SORT_IN_TEMPDB=?, DATA_COMPRESSION=?);
CREATE UNIQUE CLUSTERED INDEX [aspnet_Users_Index] ON [Test].[dbo].[aspnet_Users] (
[ApplicationId]
, [LoweredUserName]
) WITH (FILLFACTOR=100, ONLINE=?, SORT_IN_TEMPDB=?, DATA_COMPRESSION=?);
解决方案
此消息只是一个提示。有关完整的详细信息,您需要阅读此内容。它远非简单。
由于它们是开箱即用的索引,因此您真的应该不理会它们。(谢谢丹)。
为了更好地理解,请考虑这一点,第一列(也是唯一的共同列)是
ApplicationId
. 现在,根据我的经验,跨多个应用程序运行成员数据库非常罕见,因此大多数ApplicationId
情况下将是一个常数,因此对索引没有帮助。所以索引的主要用途实际上是第二列(即使您有多个应用程序,第二列也很重要),它们完全不同,表明访问模式完全不同。因此,您绝对不想尝试将它们结合起来。
推荐阅读
- python - 如何在不超出由另一列中的值设置的间隔范围的情况下随机调整列的每个数组中的值
- r - 在ggplot2中的两个指定框之间添加空格和一条线
- java - 不知道如何修复:错误:不兼容的类型:可能有损从 double 到 int 的转换
- c# - C#中是否有注解来迭代序列化创建的xml中的数组元素的名称?
- c# - 有什么方法可以检测对象是什么 ui 类型?
- node.js - 条纹“没有这样的价格”
- laravel - Laravel:key() 期望参数 1 是数组,给定整数
- markdown - 标准化 DITA:将主题拆分为单独的文件?
- shell - 使用 Ansible 将给定路径中的子目录和文件移动到父目录
- ssh - 有没有办法使用 gcloud compute ssh 实用程序远程执行命令