Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何加速内部连接MySQL查询_Php_Mysql_Inner Join_Query Optimization - Fatal编程技术网

Php 如何加速内部连接MySQL查询

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

我从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
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 param

Nice。这解决了问题。谢谢我会在5分钟内接受答案。