2013-05-10 35 views
-3

我需要问您如何使我的MySQL查询更高效。我有一个1M记录的帖子表。针对大型单表的MySQL查询优化

我没有使用任何连接,它在5-10秒内从数据库中获取结果 - 我不知道如何使其快速检索数据的效率。这里是我的查询:

SELECT 
    post_id, post_title, post_des, post_date, 
    post_status, user_id, post_price 
FROM 
    post 

这里是表结构:

CREATE TABLE `post` (
    `post_id` int(11) NOT NULL AUTO_INCREMENT, 
    `post_title` varchar(255) NOT NULL, 
    `post_des` text NOT NULL, 
    `post_date` datetime NOT NULL, 
    `edit_date` datetime NOT NULL, 
    `post_status` varchar(255) NOT NULL, 
    `user_id` int(11) NOT NULL, 
    `featuered` varchar(255) NOT NULL, 
    `sub_cat_id` int(11) NOT NULL, 
    `cat_id` int(11) NOT NULL, 
    `post_price` varchar(100) NOT NULL, 
    `post_img` varchar(255) NOT NULL DEFAULT 'uploads/no_image.jpg', 
    `post_country_id` int(11) NOT NULL, 
    `post_state_id` int(11) NOT NULL, 
    `post_city_id` int(11) NOT NULL, 
    `post_ref` varchar(255) NOT NULL, 
    PRIMARY KEY (`post_id`,`post_date`) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1 
+0

我们”你需要更多的信息比那..你可以发布你的表结构和索引? – user20232359723568423357842364 2013-05-10 19:32:16

+1

如果您想一次获取所有*记录,则无法加速。你做?如果不是,你想要获取什么样的数据? – 2013-05-10 19:33:00

+0

请检查表格结构。 我在保密网站上使用它,它必须获取所有记录,但由分页php分页使用.... 但是当我看到olx和其他网站那里和数以百万计的记录和这些网站都很快.... – 2013-05-10 19:37:32

回答

1
+0

基本上我没有使用任何连接到其他表....我有这个表中的主键,我不认为有必要添加更多的索引。 如果有需要请指导我。 谢谢 – 2013-05-10 19:43:36

+0

即使没有其他联接,索引仍然可以提高查询性能。 @MaximeD,请在您的答案中添加更多信息;只有链接的答案令人不悦。 – 2013-05-10 19:55:16