首先我们需要录入1000万条数据,PHP代码在下面,PHP(php.ini,max_execution_time= 600 )设置十分钟以上以免超时,数据越多越明显,有条件的家庭可以试试一亿条,也就一个G而已!
header("Content-Type: text/html; charset=UTF-8");
$servername = "localhost";
$username = "root";
$password = "root";
$dbname = "test";
$conn = new mysqli($servername, $username, $password, $dbname);
$conn->query("SET NAMES utf8");
$num=10000000;//一千万条数据
for ($i=1;$i<=$num;$i++){
$name="'".'林某'.$i."'";//名字
$age=rand(1,150);//年龄
$sex=rand(0,1);//性别
$sql = "INSERT INTO user (name,age,sex) VALUES ($name,$age,$sex)";
$conn->query($sql);
}
看看数据录入成功没有:SELECT * FROM user,我们看到一千万条,本地执行还是比较快的!
我们以查询30岁的人群为例,结果如图所示:
没索引的SELECT * FROM user WHERE age=30 需要0.951秒
有索引的SELECT * FROM user WHERE age=30 只需0.224秒
足足快了四倍,索引的适用场景也是有限的,用得好的事半功倍,用不好的事倍功半,使用需谨慎!