Php Mysql';其中第'条;有长桌子吗?

Php Mysql';其中第'条;有长桌子吗?,php,mysql,sql,Php,Mysql,Sql,我设计了一个类似bit.ly的网站,但有点不同。用php和mysql编写。当我在localhost上运行它时,一切似乎都很好,页面加载时间为4.5毫秒,我非常高兴 我把它上传到服务器上,用户开始浏览网站,并使用它。在主表开始达到数百万行之前,一切似乎都很正常 表现在有一百万行长(必须是这样),而且还在增长。需要该表的页面需要500毫秒才能加载。。。mysql查询是下一个: select link from table where kind = $kind and kind_idd = $kind

我设计了一个类似bit.ly的网站,但有点不同。用php和mysql编写。当我在localhost上运行它时,一切似乎都很好,页面加载时间为4.5毫秒,我非常高兴

我把它上传到服务器上,用户开始浏览网站,并使用它。在主表开始达到数百万行之前,一切似乎都很正常

表现在有一百万行长(必须是这样),而且还在增长。需要该表的页面需要500毫秒才能加载。。。mysql查询是下一个:

select link
from table
where kind = $kind and kind_idd = $kind_idd and live = 1;
它可以返回多个链接,实际上,它通常返回10-50个链接

问题是where子句。我相信mysql应该有一些东西可以让它更快。我一直在问谷歌,我找到了索引、键等等。但是我找不到一个为傻瓜们解释的网站。。如果有人能给我一个例子,让这件事快速发展,我会非常感激

谢谢大家!

尝试使用mysql 这样你就能看到发生了什么


您可能需要确保在
kind、kind\u idd和live上有索引,请参见

,如果您的查询总是在10-50个链接之间返回,请使用
LIMIT 50
在该限制之后停止SQL搜索。在不了解结构和基数的情况下,不应使用索引创建表。您好@用户2310289谢谢您的回答。我已经在phpmyadmin中单击了您所选的所有行的“索引”,但仍然需要时间来加载:(解释并没有告诉我您解释计划的任何内容result@user2310289您好!!在阅读了您的答案后,我做的是在这些列上分别添加索引。但现在我刚刚尝试了这个方法:“ALTERTABLE TABLE add INDEX”(kind,kind_idd,live)’它成功了!!现在页面加载时间为1-10毫秒!非常感谢!!:)表的结构是什么样的?