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 :
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