为了测试查询100万条数据所需的时间,我们可以使用time模块来计算查询所需的时间。下面是一个完整的示例代码: importmysql.connectorimporttime# 创建连接cnx=mysql.connector.connect(user='username',password='password',host='localhost',database='database_name')# 创建游标cursor=cnx.cursor()# 执行查询start_tim...
用union all进行查询,发现所用时间为2.05秒左右,比上两种情况都要快一点,然后通过explain查看其执行情况,可以看出其使用了索引进行查询,然后查询的行数一共是60万*3 =180万行左右,比上两种的全表扫描行数少,所以速度会快一点。 union all执行结果, union all执行情况 方法四,代码解决,多线程执行再合并 EXPLAIN...
而对于你确定要使用查询缓存的语句,可以用 SQL_CACHE 显式指定,像下面这个语句一样:mysql> select SQL_CACHE * from T where ID=10; 复制代码 需要注意的是,MySQL 8.0 版本直接将查询缓存的整块功能删掉了,也就是说 8.0 开始彻底没有这个功能了。 分析器 如果没有命中查询缓存,就要开始真正执行语句了。首先,...