Of course, as @theomega said, look at the execution plan.
But I also suggest trying to “clear” your expression. (I don’t know which one is faster - it depends on the size of your tables.) Usually I try to start with a clean statement and start optimizing from there. But, as a rule, a clean report makes it easier for the optimizer to complete a good execution plan.
So, here are some notes about your application that may slow you down:
SQL, :
SELECT `item`.itemID, `item`.title, `item`.itemTypeID, `item`.
submitDate, `item`.deleted, `item`.ItemCat,
`item`.counter, `item`.userID, `users`.name,
TIMESTAMPDIFF(minute,`submitDate`,NOW()) AS 'timeMin'
FROM (item `item` INNER JOIN users `users`
ON (`users`.userID = `item`.userID)
, , , :
SELECT `item`.itemID,
(SELECT count (itemID)
FROM votes v
WHERE v.itemID = 'item'.itemID) as 'votes', <etc.>
, . , , "".
myItems ( ).
, .