Php 如何加速内部连接MySQL查询
我从2个sql表中提取数据时遇到性能问题。它非常非常慢。当我删除内部连接时,页面会立即加载Php 如何加速内部连接MySQL查询,php,mysql,inner-join,query-optimization,Php,Mysql,Inner Join,Query Optimization,我从2个sql表中提取数据时遇到性能问题。它非常非常慢。当我删除内部连接时,页面会立即加载 $query = "SELECT sc.*, dr.fullName, dr.email, dr.mobile, dr.address1, dr.town, dr.postCode, dr.utr, dr.vatNo, dr.driver_number, dr.pt, dr.siteLoc, dr.vatCharge, dr.vraRate, dr.third_party_provider FR
$query = "SELECT sc.*, dr.fullName, dr.email, dr.mobile, dr.address1, dr.town, dr.postCode, dr.utr, dr.vatNo, dr.driver_number, dr.pt, dr.siteLoc, dr.vatCharge, dr.vraRate, dr.third_party_provider
FROM scheduling sc
INNER JOIN driverReg dr ON dr.ni = sc.ni
WHERE sc.ref = '".$ref."' AND sc.excluded = 'No'";
有谁有更好的方法更快地提取此数据吗?确保在表调度列上有一个复合索引(ref,excluded,ni) 表driverReg列ni上的索引
create index myidx1 on scheduling (ref, excluded,ni )
create index myidx2 on driverReg (ni )
无论如何,与性能无关,但出于安全考虑。。您应该避免在sql代码中使用php,因为您面临SQLiJet的风险。。为了避免这种情况,您需要查看mysql驱动程序中的prepared语句和binding paramNice。这解决了问题。谢谢我会在5分钟内接受答案。