我的表中有4000多行数据。我注意到它变得非常慢,甚至当我试图从mysql工作台获取所有行时,它都会冻结。
经过一些尝试和错误之后,我注意到只有选择超过1544行时,它才会冻结/性能低下。
SELECT * FROM users LIMIT 1544;编辑
以下是运行DESC Users后的一些数据
Field, Type, Null, Key, Default, Extra
'id', 'int(10) unsigned','NO','PRI',NULL, 'auto_increment'
'email', 'varchar(255)', 'NO', '', NULL, ''
'password', 'varchar(255)', 'YES', '', NULL, ''
'first_name', 'varchar(255)', 'YES', '', NULL, ''
'last_name', 'varchar(255)', 'YES', '', NULL, ''
'gender', 'varchar(15)', 'YES', '', NULL, ''
'picture', 'varchar(255)', 'YES', '', NULL, ''
'contact_number','varchar(255)','YES', '', NULL, ''
'country', 'varchar(255)', 'YES', '', NULL, ''
'state', 'varchar(255)', 'YES', '', NULL, ''
'city', 'varchar(255)', 'YES', '', NULL, ''
'dob', 'date', 'YES', '', NULL, ''
'type', 'int(11)', 'NO', '', '1', ''
'verified', 'int(11)', 'NO', '', '0', ''
'is_first_login','int(11)', 'NO', '', '1', ''
'status', 'int(11)', 'NO', '', '1', ''
'remember_token','text', 'YES', '', NULL, ''
'created_at', 'timestamp', 'NO', '', '0000-00-00 00:00:00', ''
'updated_at', 'timestamp', 'NO', '', '0000-00-00 00:00:00', ''我该如何解决这个问题?
发布于 2016-01-19 09:36:17
建议:
发布于 2016-01-19 09:54:12
请为用于选择purpose.Also的列建立索引,使表结构数据类型长度将根据需要减少
假设是个快递。contact_number varchar(255)不是必需的,varchar(10)足够了。
这是优化表和快速重试表中数据的最佳方法。
发布于 2016-01-19 12:10:55
对于大型数据库,Mysql索引可以帮助解决速度问题,可以在表中创建索引,以便更快、更有效地查找数据。所以必须创建索引,您可以在这里了解更多关于MYsql索引的信息,index.asp
https://stackoverflow.com/questions/34872906
复制相似问题