>我有一个包含 4 列和一个复合主键的表,示例如下:
TABLE_X
ColumnA BIGINT,
ColumnB BIGINT,ColumnC BIGINT,
ColumnD Float主键(列 A、列 B、列 C)
索引(列 A、列 B)
索引(列 A)
此表包含大约 2,000,000 条记录。当我使用查询读取记录时,系统使用 10+ 分钟返回响应。
SELECT * FROM TABLE_X WHERE ColumnA='X'
DELETE 的情况最差,不返回任何响应,系统继续执行查询。
DELETE FROM TABLE_X WHERE ColumnA='X'
我正在使用PHP将我的应用程序从MySQL转换为SQL Server。它在MySQL上运行良好,但在MS SQL Server 2017上,此查询花费了太多时间。
我已经在具有64GB RAM的适当服务器机器和VMWare中安装的SQL Server上对其进行了测试,响应没有差异。
我想询问如何解决此问题,因为将来此表中会有更多记录。存在复合键的其他几个表也存在相同的问题。
在这方面的任何帮助将不胜感激。
我已经通过应用服务器维护和重建索引来解决这个问题。