gpt4 book ai didi

sql - MS Access 中本地服务器上的慢 SQL 代码

转载 作者:行者123 更新时间:2023-12-04 07:11:25 24 4
gpt4 key购买 nike

我有一个特定的 SQL 语句,它需要大约 30 秒才能执行,我想知道是否有人可以看到它的问题,或者我需要额外索引的地方。

该代码位于 Access 中的子窗体上,该子窗体根据主窗体中五个字段的内容显示结果。正在查询的表中有近5000条记录。 Access 项目是在实际 SQL 服务器上的终端服务器 session 中存储和运行的,所以我认为这不是网络问题,还有另一种非常相似的表单使用相同类型的查询......

谢谢

PG

SELECT TabDrawer.DrawerName, TabDrawer.DrawerSortCode, TabDrawer.DrawerAccountNo, TabDrawer.DrawerPostCode, QryAllTransactons.TPCChequeNumber, tabdrawer.drawerref
FROM TabDrawer LEFT JOIN QryAllTransactons ON TabDrawer.DrawerRef=QryAllTransactons.tpcdrawer
WHERE (Forms!FrmSearchCompany!SearchName Is Null
Or [drawername] Like Forms!FrmSearchCompany!SearchName & "*")
And (Forms!FrmSearchCompany.SearchPostcode Is Null
Or [Drawerpostcode] Like Forms!FrmSearchCompany!Searchpostcode & "*")
And (Forms!FrmSearchCompany!SearchSortCode Is Null
Or [drawersortcode] Like Forms!FrmSearchCompany!Searchsortcode & "*")
And (Forms!FrmSearchCompany!Searchaccount Is Null
Or [draweraccountno] Like Forms!FrmSearchCompany!Searchaccount & "*")
And (Forms!FrmSearchCompany!Searchcheque Is Null
Or [tpcchequenumber] Like Forms!FrmSearchCompany!Searchcheque & "*");
");

编辑

Hold up 似乎在形成 QryAllTransactons 查询的联合查询中。
SELECT 
"TPC" AS Type,
TabTPC.TPCRef,
TabTPC.TPCBranch,
TabTPC.TPCDate,
TabTPC.TPCChequeNumber,
TabTPC.TPCChequeValue,
TabTPC.TPCFee,
TabTPC.TPCAction,
TabTPC.TPCMember,
tabtpc.tpcdrawer,
TabTPC.TPCUser,
TabTPC.TPCDiscount,
tabcustomers.*
FROM
TabTPC
INNER JOIN TabCustomers ON TabTPC.TPCMember = TabCustomers.CustomerID

UNION ALL

SELECT
"CTP" AS Type,
TabCTP.CTPRef,
TabCTP.CTPBranch,
TabCTP.CTPDate,
TabCTP.CTPChequeNumb,
TabCTP.CTPAmount,
TabCTP.CTPFee,
TabCTP.CTPAction,
TabCTP.CTPMember,
0 as CTPXXX,
TabCTP.CTPUser,
TabCTP.CTPDiscount,
TABCUSTOMERS.*
FROM
TabCTP
INNER JOIN TabCustomers ON Tabctp.ctpMember = TabCustomers.CustomerID;

我已经用简单的联合查询做了很多工作,但以前从未有过...

最佳答案

两件事情。由于这是一个带有 SQL Server 后端的 Access 数据库,您可能会发现通过将其转换为存储过程来显着提高速度。

其次,您是否真的需要返回所有这些字段,尤其是在 tabCustomers 表中?永远不要返回比您实际打算使用的更多的字段,您将提高性能。

关于sql - MS Access 中本地服务器上的慢 SQL 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/281167/

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