Php 大型单表的MySQL查询优化
我需要问一下如何提高MySQL查询的效率。我有一张有一百万条记录的帖子表 我没有使用任何连接,它在5-10秒内从数据库中获取结果——我不知道如何使快速检索数据变得高效。我的问题是:Php 大型单表的MySQL查询优化,php,mysql,phpmyadmin,query-optimization,Php,Mysql,Phpmyadmin,Query Optimization,我需要问一下如何提高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
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
您需要先阅读以下内容: 这是:
我们需要更多的信息。。你能发布你的表结构和索引吗?如果你想一次获取所有记录,你就不能加快它的速度。你…吗?如果没有,您希望获取什么样的数据?请检查表结构。我在分类网站上使用它,它必须获取所有记录,但分页php分页使用。。。。但当我看到olx和其他网站,以及数以百万计的记录,这些网站都很快…你说的是“分页”?有没有试过?@MShahzadAkram-如果没有看到你的SELECT语句,我无法回答这个问题。如果您选择在
post\u date
,则在其上添加索引。如果您选择的是post\u title
,请在其上添加索引。基本上,我不使用任何与其他表的联接。。。。我在这个表中有主键,我认为不需要添加更多的索引。如果有需要,请指导我。即使没有其他联接,ThanksIndex仍然可以提高查询性能@MaximeD,请在您的答案中添加更多信息;只有链接的答案是不受欢迎的。