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

SQL查询-性能优化

宋晋
2023-03-14
问题内容

我不太擅长SQL,因此我要求你们提供有关编写查询的帮助。
[SQL查询-表连接问题]https://codingdict.com/questions/208252)
我得到了答案,并且可以正常工作!它只是明显的缓慢。我讨厌这样做,但是我真的希望有人在那里推荐一些优化查询的方法。我什至没有自己尝试过,因为我对SQL不够了解,甚至无法开始使用谷歌搜索。


问题答案:

可能有帮助的是在要加入的列上创建索引。例如;

CREATE INDEX name_for_index ON Main (StatusID);

它将为此列生成一个查询表,执行查询的算法将使用该表。

编辑:如果您不允许更改数据库,则可能不走运。我已经看到在某些情况下放宽JOIN语句可以改善性能,那就是这样。

...
FROM
  Main m, Status st, Secondary s
WHERE
  st.ID = m.StatusID
  AND s.MainID = m.ID
  AND 
  ( s.MainID IS NULL AND m.WhenDate = <YourDate>
    OR
    s.MainID IS NOT NULL AND s.WhenDate = <YourDate> )
  AND TypeId = <TypeFilter>
  AND ... other filters, if you need any ...

然后处理您的其他情况,其中INNER JOIN需要更加详细。



 类似资料:
  • 我正在使用jaydebeapi(Mac OS X)查询Netezza数据库,并执行一些快速/肮脏的计时: 完成大约需要10分钟(平均超过10次)。 现在,当我使用WinSQL(Windows7,ODBC)运行相同的SQL查询时,返回数据大约需要3分钟。我似乎不明白为什么在Python中要花这么长的时间,也不确定如何或从哪里开始寻找。

  • 问题内容: 我在繁忙的数据库上有一个存储过程,该数据库在某种程度上一直在昂贵的查询列表中排在首位。该查询非常简单,它采用单个参数(@ ID,int)作为表的主键,并选择与该ID匹配的记录。主键是带有聚簇索引的身份字段,所以我很困惑如何进一步优化它? 查询如下 不确定发布执行计划的最佳方法-显示的全部内容是聚集索引扫描占用了100%的操作 问题答案: 我认为通过使用您,您将获得次优的计划。将其分为2

  • 为了提高配置单元查询的性能,有哪些优化参数 配置单元版本:-Hive 0.13.1-cdh5.2.1 配置单元查询:- 设置hive.exec.parallel=true; 您能建议任何其他设置,除了以上,以提高配置单元查询的性能,我正在使用的类型查询。

  • 问题内容: 在where语句中,添加不必要的括号是否 会影响SQL性能? 例子: 问题答案: 不,没有任何重要意义。 该查询被解析一次,在此阶段,一些额外的括号可能意味着执行时间略有不同,但是您必须要有很多括号才能进行测量。 一旦查询被解析并开始执行,它的行为将与没有多余括号的行为完全相同。仅保留实际操作。

  • 问题内容: 有没有一种方法可以改善这种SQL查询性能: 问题是当我的表中有许多数据(如百万行)时,子句的执行非常慢。我必须执行此验证,因为我无法插入重复的数据。 我使用SQLServer 2005 谢谢 问题答案: 确保您正在搜索索引列,而没有操纵这些列中的数据(例如子字符串等)

  • 本文向大家介绍MySQL数据库查询性能优化策略,包括了MySQL数据库查询性能优化策略的使用技巧和注意事项,需要的朋友参考一下 优化查询 使用Explain语句分析查询语句 Explain 用来分析 SELECT 查询语句,开发人员可以通过分析 Explain 结果来优化查询语句。 通过对查询语句的分析,可以了解查询语句的执行情况,找出查询语句执行的瓶颈,从而优化查询语句. 使用索引查询 MySq