其实还是可以的,从代码层次我发现了一个问题 $subject =$name[0]; 这里只取了1行。 因此来说。$result= "SELECT lastname FROM a WHERE firstname='".$name."'"; 可以修改为$result= "SELECT lastname FROM a WHERE firstname='".$name."' limit 0,1"; 查询速度优化了不少。继续想办法,我相信肯定可以处理
$result= "SELECT lastname FROM a WHERE firstname='".$name."'"; 和 $result= "SELECT lastname FROM a WHERE firstname='".$name."' limit 0,1"; 意义是不同的!前者表示可能取出多行 后者表示无论多少行都只取遇到的第一行如果为了所谓的速度,连本意都扭曲了。那“优化”有什么意义?
仅从 php 角度是不能改变现状的
对于你的代码:
在 php 层面没有任何优化的余地
在 mysql 层面,也只是对 firstname 列做索引而已
$subject =$name[0];
这里只取了1行。
因此来说。$result= "SELECT lastname FROM a WHERE firstname='".$name."'";
可以修改为$result= "SELECT lastname FROM a WHERE firstname='".$name."' limit 0,1";
查询速度优化了不少。继续想办法,我相信肯定可以处理
和
$result= "SELECT lastname FROM a WHERE firstname='".$name."' limit 0,1";
意义是不同的!前者表示可能取出多行
后者表示无论多少行都只取遇到的第一行如果为了所谓的速度,连本意都扭曲了。那“优化”有什么意义?
md5(firstname+lastname),散列到不同的数据库表中。