Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL在查询不存在的行时非常慢_Mysql_Database Administration - Fatal编程技术网

MySQL在查询不存在的行时非常慢

MySQL在查询不存在的行时非常慢,mysql,database-administration,Mysql,Database Administration,我有一个超过100m行的用户表,没有分区: create table User { user_id int primary key auto_increment, user_email varchar(50) unique, ...//no more than 20 columns } ENGINE=MyISAM 大多数情况下,使用以下sql是可以的: select user_id, .... from User where

我有一个超过100m行的用户表,没有分区:


    create table User {
        user_id int primary key auto_increment,
        user_email varchar(50) unique,
        ...//no more than 20 columns
    }  ENGINE=MyISAM

大多数情况下,使用以下sql是可以的:

select user_id, .... from User where user_email=?
但如果我提供了一个数据库中不存在的电子邮件地址,那么它可能会非常慢,可能会超过1s

可能是什么问题

=======更新========== 数据库有一个从数据库,我刚刚测试了SQL非常快,即使没有这样的记录


是否因为数据库运行了很长时间或大约3年?

是否创建indexuser_email varchar50 unique,这已经是一个索引您使用MyISAM时可能会在查询时出现一些锁?@disordedev Try ANALYZE TABLE User;,看看这是否有帮助。@fancyPants分析100m记录需要多长时间,数据大小约为20G