当前位置: 首页 > 面试题库 >

SQL Server-如何查找是否存在聚集索引

上官鸿祯
2023-03-14
问题内容

我们有500多个表,想要确定哪些表没有主键。因为在大表上创建索引将有助于提高性能。

必需的命令-识别哪些表是HEAPS(因为它们没有聚簇索引

问候


问题答案:
SELECT OBJECT_NAME(object_id)
FROM sys.indexes 
WHERE index_id=0 
  AND OBJECTPROPERTY(object_id, 'IsUserTable') = 1

查找所有堆。但是,此问题与PK是否存在正交。堆可以具有非群集PK,而群集索引不一定是PK。要查找没有PK的表,可以使用。

SELECT *
FROM sys.tables t
WHERE NOT EXISTS
(
SELECT *
FROM sys.indexes i
WHERE is_primary_key=1 AND i.object_id = t.object_id
)


 类似资料:
  • 问题内容: 我想在elasticsearch中检查索引是否存在。如果不存在,则应创建索引并执行其他功能。我试图找到一个解决方案,但是没有找到完美的解决方案。任何人都可以有解决此问题的任何解决方案。 我正在使用Elasticsearch库。 问题答案: 根据索引操作和源代码,以下应该工作

  • 问题内容: 我知道如何创建索引 以及如何检查索引是否已存在? 我需要检查它们的存在并创建它们(如果还不存在)。 问题答案: 您可以使用以下查询获取索引列表,它们的表和列: 从那里,您可以按索引名称或所涉及的列检查是否存在,并决定创建/跳过索引。

  • 我使用的是带有Scala 2.12的Databricks群集版本7.3 LTS。这个版本确实使用Log4J。 官方文件说它使用Log4J版本。这是否意味着我没有这个漏洞?如果我这样做了,我可以在集群上手动修补它,还是需要将集群升级到下一个LTS版本?

  • 给定一个完整的二叉树,其中节点的索引从1到N(索引1是根,N是树中的节点数)。在O(logN)时间复杂度下,我们能发现树中是否存在具有特定索引的节点吗? 下面我写了在O(N)中运行的代码 当节点位于右子树深处时,O(N)解似乎效率很低。我们可以避免在根级别访问左子树吗? 利用O(logN)时间复杂度是一个完整的二叉树这一事实,有可能实现这一目标吗?

  • 问题内容: 在Swift中,是否有任何方法可以检查数组中是否存在索引而不会引发致命错误? 我希望我可以做这样的事情: 但是我明白了 致命错误:数组索引超出范围 问题答案: Swift中的一种优雅方式:

  • 问题内容: 有没有一种方法可以检查nodestore的firestore中是否存在子集合? 目前,我正在使用文档,但是我需要检查文档中是否存在子类以便写入一些数据。 问题答案: 就在这里。您可以使用docs.length来知道子集合是否存在。 我制作了一个样本来指导您,希望对您有所帮助。