MySQL数据库1000万条数据演示:索引vs没索引

首先我们需要录入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,我们看到一千万条,本地执行还是比较快的!
MySQL数据库1000万条数据演示:索引vs没索引_第1张图片
我们以查询30岁的人群为例,结果如图所示:
没索引的SELECT * FROM user WHERE age=30 需要0.951秒
有索引的SELECT * FROM user WHERE age=30 只需0.224秒
足足快了四倍,索引的适用场景也是有限的,用得好的事半功倍,用不好的事倍功半,使用需谨慎!
MySQL数据库1000万条数据演示:索引vs没索引_第2张图片
MySQL数据库1000万条数据演示:索引vs没索引_第3张图片
MySQL数据库1000万条数据演示:索引vs没索引_第4张图片

你可能感兴趣的:(mysql)