从多行中选择时,MySQL的性能会降低

I have more than 4000 rows of data in my table. I have noticed that it gets extremely slow and it even freezes when I try to fetch all rows from mysql workbench.

After some trial and errors, I noticed it will only freeze/low performance if i select more than 1544 rows.

SELECT *  FROM users LIMIT 1544;

EDIT

Here are some data after running 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', ''

How can I solve this problem?

Suggestions :

  1. Instead of * use field names.
  2. If you need all data at once than you can use conditions and can use limits.
  3. If you need some data then you can use pagination, load other data then user scroll down.
  4. you can create view for it and call the view.

Please make index for column which is to be used for select purpose.Also make table structure datatype length will be decrease as per your need

Suppose as an Ex. contact_number varchar(255) is not required, varchar(10) its more enough for.

Its a best way to optimize your table and fast retrial of data from table

for large databases Mysql INDEX can be helpful in speed problems, An index can be created in a table to find data more quickly and efficiently. so must create index , you can learn more about MYsql index here http://www.w3schools.com/sql/sql_create_index.asp