gpt4 book ai didi

sql-server - 查询优化

转载 作者:搜寻专家 更新时间:2023-10-30 20:13:24 25 4
gpt4 key购买 nike

在我的应用程序中,我的模块使用了下表

  1. PUBLIC_APPLICATION
  2. CATEGORY_MASTER
  3. NOTIFICATION_SITE_DETAIL
  4. DIMENSION_MASTER 直销商
  5. PUBLIC_REGISTRATION
  6. ALLOTMENT_NOTIFICATION。

我正在从下表中检索数据

SELECT PA.REGISTRATION_NO,PA.APP_ID,PA.NO_OF_ATTEMPTS,CM.CATEGORY_NAME,
DM.SITE_DIMENSION,PR.BDA_NO,AN.NOTIFY_ID
FROM **PUBLIC_APPLICATION PA,CATEGORY_MASTER CM,NOTIFICATION_SITE_DETAIL NSD,DIMENSION_MASTER DM, PUBLIC_REGISTRATION PR,ALLOTMENT_NOTIFICATION AN**
WHERE **CM.CATEGORY_ID = PA.CATEGORY_ID AND
NSD.NOTIFY_SITE_ID = PR.NOTIFY_SITE_ID AND
DM.DIMENSION_ID = NSD.DIMENSION_ID AND
PR.REGISTRATION_NO = PA.REGISTRATION_NO AND
AN.NOTIFICATION_NO = PA.NOTIFICATION_NO AND
PR.NOTIFY_SITE_ID = PA.NOTIFY_SITE_ID AND NSD.NOTIFY_ID = AN.NOTIFY_ID AND
PA.NOTIFICATION_NO = ?** LIMIT ?, ?

PUBLIC_APPLICATION & PUBLIC_REGISTRATION数据量大,近百万条记录,其他表约5000条记录。

如果我执行上面的查询需要超过 30 分钟才能得到结果,谁能建议我编写高效的查询以在最短时间内得到结果。

忘记说明了,我用的是mysql数据库

最佳答案

通过使用“STRAIGHT_JOIN”,您告诉优化器按您说的去做。我将 Notification # 移动为第一个 WHERE 子句,因此首先处理它以限制您的设置。然后,我将连接设置到其他表。我之前在查询 15+ 百万条记录的政府数据以加入 15+ 表时遇到过这个问题,花了 20 多个小时。通过将“STRAIGHT_JOIN”添加到我已经格式正确的查询中,大约需要 2 个小时......同样,15+ 百万条记录并连接到超过 15 个表以获取子描述性详细信息。

SELECT STRAIGHT_JOIN
PA.REGISTRATION_NO,
PA.APP_ID,
PA.NO_OF_ATTEMPTS,
CM.CATEGORY_NAME,
DM.SITE_DIMENSION,
PR.BDA_NO,
AN.NOTIFY_ID
FROM
PUBLIC_APPLICATION PA,
CATEGORY_MASTER CM,
NOTIFICATION_SITE_DETAIL NSD,
DIMENSION_MASTER DM,
PUBLIC_REGISTRATION PR,
ALLOTMENT_NOTIFICATION AN
WHERE
PA.NOTIFICATION_NO = ?
AND PA.CATEGORY_ID = CM.CATEGORY_ID
AND PA.REGISTRATION_NO = PR.REGISTRATION_NO
AND PA.NOTIFICATION_NO = AN.NOTIFICATION_NO
AND PA.NOTIFY_SITE_ID = PR.NOTIFY_SITE_ID
AND PR.NOTIFY_SITE_ID = NSD.NOTIFY_SITE_ID
AND NSD.DIMENSION_ID = DM.DIMENSION_ID
AND NSD.NOTIFY_ID = AN.NOTIFY_ID
LIMIT
?, ?

关于sql-server - 查询优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2312608/

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