我从mysql
连接到php
数据库并进行3次查询(请参阅下面的代码)。但是,当我检查这个PHP脚本从0.5 - 2.5
秒获取的性能时,一切正常。什么可能是造成这种时间差异的原因?一般来说,您对如何提高脚本性能(可能优化请求或使用其他功能)有任何建议吗? fingerprint
和IP
列已编入索引。谢谢!
$conn = new mysqli('localhost', 'user1', 'pass1', 'db1');
$sql = 'INSERT INTO Test '.
'(token, result, Link, IP, useragent, resolution, language, screen, fingerprint) '.
'VALUES ("' .$_GET['token_']. '", "OK", "ststsebhoupe", "'.$_GET['addr_'].'", "'.$_SERVER['HTTP_USER_AGENT'].'", "'.$_GET['flag_'].'", "'.$_SERVER['HTTP_ACCEPT_LANGUAGE'].'", "'.$_GET['screen_'].'", "'.$_GET['fingerprint_'].'")';
$conn->query($sql);
$found1 = $conn->query("SELECT COUNT(*) FROM Test WHERE `Link` = 'ststsebhoupe' and `fingerprint` = '".$_GET['fingerprint_']. "'")->fetch_row()[0];
$found2 = $conn->query("SELECT COUNT(*) FROM Test WHERE `Link` = 'ststsebhoupe' and `IP` = '".$_GET['addr_']. "'")->fetch_row()[0];
$conn->close();
答案 0 :(得分:0)
要加速那些两个SELECTs
,请在表格中创建这两个索引:
INDEX(Link, fingerprint) -- in either order
INDEX(Link, IP) -- in either order