Magento could be slow because of many reasons. You need to optimize the magento as well as MySQL for getting desired results.
1) Make sure you are using
FLAT CATALOG. if you are not using it then enable it from System -> Configuration. This will speed up the catalog performance. Although, if your site is highly customized then enabling
FLAT CATALOG would creates error many time so make sure you check your third party extension working properly after enabling it.
2) Disable Magento Logging if your site is in production environment.
3) Clear unwanted data from Magento database below is the list of all the tables.
SET foreign_key_checks = 0;
SET foreign_key_checks = 1;
4) Compress and minify
JS, compress it using Gzip and enable browser caching for static content like CSS, JS, Images.
5) Make sure you have optimized MySQL with Query Caching, buffer, IO READ/ Write etc.
6) Apache/Nginx should be well optimized with php-cgi to handle Magento Request.
7) You can also implement tools like Redis , Memcached or varnish etc for better performance.
Hope this would help you achieve your goal.