sql-server - 大型 SQL 数据库上的索引

标签 sql-server azure azure-sql-database query-performance

我在 azure SQL 数据库中有一个非常大的表,该表已经拥有超过 3000 万行,并且每天都会对该表进行大量插入,约 50-60k

我们的网络应用程序中有多个页面需要来自这个大表的数据...每个页面都有不同的方式根据需要哪些列以及 where 子句中提到的列来查询此表。

由于数据库位于 Azure 上,因此 Azure 会自动应用一些索引,查看正在执行的查询,这些索引现在由于数据库大小非常大而导致性能问题。在 SQL 中使用 dmv,我发现数据大小约为 15GB,但索引几乎为 65GB

在这种情况下如何创建有效的索引?

最佳答案

Brentozar publiched their free script它做了很好的分析,例如:

  • 存在哪些索引
  • 索引的使用频率
  • 查询引擎查找不存在索引的频率。

可以根据上述脚本得出应在 Azure SQL 数据库中删除哪些索引的结论。

As MSDN says it is possible to drop indexes at Azure SQL Database.

关于sql-server - 大型 SQL 数据库上的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53742740/

相关文章:

azure - 如何使用API​​获取azure资源的定价详细信息?

azure - 使用动态 IP 地址访问 Azure SQL 数据库

azure - Windows Azure 网站磁盘空间

sql-server - 在临时表上创建主键 - 何时?

sql-server - 如何在Access VBA中检查ODBC SQL Server表是否具有写 Access 权限?

sql - 如何编写存储过程来接受集合以使用 IN 操作删除行?

c# - .NET 5.0 独立 Azure 函数未触发代码 - 超时

azure - 仅更改 Azure 角色实例计数时, "simultaneous"模式如何工作?

sql - 避免 SQL 表中值(两列)的重复 "pairs"

sql-server - SSIS 表达式生成器 - GetDate() 到字符串 (dd-MMM-yy)