MySQL performance problem
Using a varchar(255) as a 'one-size fits all' type is a bad idea, but that is another story, and not what you asked. 

As @ypercube said, you have 2 options:

a) Create an additional index on user_id

ALTER TABLE `test` ADD INDEX `user_id` (`user_id`);


b) Reorder your PRIMARY key so it starts by user_id

ALTER TABLE `test` DROP PRIMARY KEY, 
ADD PRIMARY KEY (`user_id`, `tweetid`,`screen_name`,`date`);


This second option will take half the disk and memory space, but it may affect negatively queries filtering, for example, by tweetid only. You can read more about left-most prefix indexes and why your query was doing a full table scan here.