我有2个表超过50列,超过150,000行。这两个表都在关系(主键和外键)中。
我想运行查询来从两个表中获取记录,但执行需要很多时间。
如何提高两个表的性能?
请帮帮我。
答案 0 :(得分:2)
您应该提供更多信息和EXACT SQL,这里有任何基础知识(假设使用SQL)
确保在每个表上都定义了索引。
确保只返回所需的列
确保FK / PK上的数据类型相同(如果您的FK合乎逻辑)
尽量不要在WHERE中使用函数 - 如果你这样做会导致性能下降
尽量不要在WHERE中使用OR - 如果你这样做会导致性能下降
获取执行计划并查看是否使用了索引。
同样,需要更多信息。
答案 1 :(得分:0)
请提供二手查询......
确保在每个表上都定义了索引,并且在传递的查询中的Where子句之后立即使用它们。请不要在查询中使用Select *,而是仅使用所需的列和子查询。仅针对where子句中的特定条件运行查询,该子句返回较少的行数而不是所有表记录。在两个表中为您使用的键列保留相同的数据类型。
检查执行计划并查看是否使用了索引。