gpt4 book ai didi

sql - 什么是 "SQL-Hints"?

转载 作者:行者123 更新时间:2023-12-03 15:05:29 25 4
gpt4 key购买 nike

我是 ORM 解决方案的倡导者,并且不时举办关于 Hibernate 的研讨会。

在谈论框架生成的 SQL 时,人们通常会开始谈论他们需要如何使用“提示”,而这在 ORM 框架中被认为是不可能的。

通常是这样的:“我们尝试过 Hibernate。一开始它看起来很有希望,但是当我们在非常复杂的生产数据库上使用它时,它崩溃了,因为我们无法应用提示!”。

可当问到一个具体的例子时,那些人的内存却突然变得不那么清晰了……

我通常感到害怕,因为整个“提示”主题对我来说听起来像是巫毒教……
所以有人可以启发我吗? SQL 提示或 DB 提示是什么意思?

我唯一知道的,有点“类似提示”的是 SELECT ... FOR UPDATE。但这由 Hibernate-API 支持...

最佳答案

SQL 语句,尤其是复杂的语句,实际上可以由数据库引擎以多种不同的方式执行(首先读取连接中的哪个表,根据许多不同的参数使用哪个索引等)。

有经验的 dba 可以使用提示来鼓励数据库引擎在生成执行计划时选择特定方法。您通常只需要在对特定查询进行大量测试和分析后执行此操作(因为数据库引擎通常非常擅长找出最佳执行计划)。

这里有一些 MSSQL 特定的讨论和语法:
http://msdn.microsoft.com/en-us/library/ms181714.aspx

编辑:http://geeks.netindonesia.net/blogs/kasim.wirama/archive/2007/12/31/sql-server-2005-query-hints.aspx 上的一些其他示例

关于sql - 什么是 "SQL-Hints"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/262004/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com