2013-05-10 90 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