我正在使用php和MySQL以及一个相当大的MySQL数据库,我试图第一次使用idexes。我得到了服务器首先查看索引的概念,但是我在使服务器使用索引时遇到了麻烦。所以我的问题是:
表中是否有主键(因此主索引?)在我试图从另一列使用的索引上使用?我是否必须在选择查询中明确指定索引? (我正在使用几个表连接,顺便说一句)
有没有人知道使用MySQL索引的初学者指南?我还没有找到一个好的!
答案 0 :(得分:0)
mysql索引的一个重要规则,比如你有以下索引:
@media screen and (max-width:1100px) {
.top div[class*='grid_'] {
min-height: 320px;
}
}
然后在你的代码中你有一个where子句或者join,例如:
KEY(A,B,C)
Mysql将无法使用查询的索引,因为索引按给定的顺序工作,并且未包含A列。 修复是在查询中使用A或重新排序索引(或添加第二个索引),如下所示:
WHERE B = 'mydata' AND C = 'moredata'
或(如果您在WHERE / JOIN中根本不需要A):
KEY(C,B,A)
同时查看explain,它可以帮助您找到未使用索引的原因。