这是一个多部分索引问题:
答案 0 :(得分:10)
否,索引适用于表格中的列
索引用于查找行 特定的列值很快。 没有索引,MySQL必须开始 用第一行然后读 通过整个表找到 相关行。桌子越大, 这个成本越多。如果表有 相关列的索引, MySQL可以快速确定 寻求中间的位置 数据文件无需查看 在所有的数据。如果一张桌子有1000 行,这至少是100次 比顺序阅读更快。
答案 1 :(得分:3)
您可以从oracle文档中的create index语法图中看到它不适用于索引 我也不能想到你想要的理由。
答案 2 :(得分:0)
索引已经排序,所以你可能根本不想为它创建一个索引。但是,如果进行低级编程,您可能希望在内存或较小的磁盘区域中存储索引的子集(比如每1024个或每2048个记录),因此您可以先查看并在较大的位置搜索索引记录谎言。
“平方根”规则适用于此。因此,如果该表有400万个条目,那就是2048 * 2048(大约)。您“加载”2048条记录,然后找到您需要加载的主索引的2048条记录部分以便查找记录,因此您只需加载2个块而不必通过2048块进行二进制搜索。
这可能是一个巨大的优化,但它适用于低级程序员,即数据库工具的开发人员,而不是他们的用户。