|
|
1
4
除了一些非常基本的东西之外,我真的不了解b-树,但是让索引中最左边的列是方差最小的列更有效-对吗?
B-树索引有一个重要的特性需要注意:搜索任意的
前缀
全部钥匙,但不是
后缀
. 如果你有索引
这是b树索引的第二个特性,您也应该知道:它们是排序的。B树索引可用于
还要记住磁盘驱动器的一个重要特性:顺序读取很便宜,查找不便宜。如果使用的列不在索引中,mysql必须从表数据中读取该行。一般来说,这是一种缓慢的探索。因此,如果mysql认为它最终会像这样读取表的一小部分,那么它将忽略索引。一次大表扫描(顺序读取)通常比随机读取一个表中的几%的行要快。
顺便说一句,这同样适用于通过索引进行搜索。在B树中找到一个键实际上可能需要一些查找,所以您会发现
最终,你必须充分利用基准测试和
ps:benchmark innodb也有,它通常有更好的并发性能。与PostgreSQL相同。 |
|
|
2
0
首先,如果使用IP作为字符串,请将其更改为int unsigned column,并使用inet_aton(expr)和inet_ntoa(expr)函数处理此问题。对整数值进行索引比对可变长度字符串进行索引更有效。 |
|
|
3
0
油井指数是用储存来换取性能的。如果你两者都想要,那就很难了。如果不知道您运行的所有查询及其每个间隔的数量,就很难进一步优化这个问题。 你所拥有的将起作用。如果遇到瓶颈,您需要找出它的CPU、RAM、磁盘和/或网络,并进行相应的调整。过早优化是困难的,也是错误的。 如果有任何更新,您可能想切换到innodb,其他的wise myisam适合插入/选择。另外,由于行的大小很小,您可以查看mysql cluster(nbd)。还有一个归档引擎可以帮助满足存储需求,但是5.1中的分区可能是一个更好的选择。 如果索引的顺序已经在所有查询中使用,则翻转索引的顺序没有任何意义。
不确定,但我以前没听说过。在我看来,这项申请并不真实。索引顺序对于排序很重要,并且通过具有多个唯一的最早索引字段,允许更多可能的查询使用索引。 |
|
|
Bard.Mus · 迁移后的数据库字符集环境 1 年前 |
|
Efannnnnn · 将Id数据存储到任何页面 1 年前 |
|
|
yooooo · 用于在块中删除的存储过程-LOOP未执行 1 年前 |
|
John Beasley · 更新一定数量记录的连续日期 1 年前 |
|
|
ColinM · MySQL以前的结果查询返回不正确的值 1 年前 |
|
Sergey_Z · MySQL只需无条件连接2个表和交叉连接 1 年前 |