我设计了一个类似 bit.ly 的网站,但有点不同。用php和mysql编写。当我在本地主机上运行它时,一切似乎都工作正常,页面加载时间为 4.5 毫秒,我高兴极了。
我将其上传到服务器,用户开始浏览该网站并使用它。一切似乎都工作正常,直到主表开始达到数百万行。
该表目前有 100 万行长度(必须如此),并且还在不断增长。需要该表的页面需要 500 毫秒才能加载...接下来是 mysql 查询:
select link
from table
where kind = $kind and kind_idd = $kind_idd and live = 1;
它可以返回超过 1 个链接,事实上,它通常返回 10-50 个链接。
问题在于 where 子句。我确信 mysql 应该有一些东西可以让它更快。我一直在问谷歌,我找到了索引、 key 等。但我找不到一个网站可以为傻瓜解释它。如果有人能给我一个例子来让这件事快速进行,我将非常感激。
谢谢!
最佳答案
尝试使用mysql explain plan 这样您就可以看到发生了什么。
您可能需要确保您在 kind、kind_idd 和 live
上有索引,请参阅 http://dev.mysql.com/doc/refman/5.0/en/create-index.html
关于php - Mysql 'where clause' 有长表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19531538/