我即将在MYSQL数据库上创建一个非常大的位置表。第一列将是位置的x值或水平值,第二列将是位置的y值或垂直值。 (如经度和纬度,但使用无符号整数)。
CREATE TABLE IF NOT EXISTS `locations` (
`horizontal_position` INT NOT NULL,
`vertical_position` INT NOT NULL,
/*other columns*/
)
x值和y值都同样重要,所以暂时我想要需要一个双主键,但我甚至不知道这是否可行。 我认为最好使用B TREE算法进行索引,但不知道如何使用x和y列。我可以通过在bigint中只包含一个包含x和y值的列来避免这种情况,但这似乎是数据库人们会皱眉的解决方案。
那么如何在两列上创建B TREE索引以及我的主键是什么?
提前致谢
答案 0 :(得分:0)
我想你想要一个空间索引。这些记录在here。
有用于多维索引的索引类型。最着名的是R-D树,它通常与空间索引相关联。这些通常是基于SQL的扩展视图,这是不幸的,因为多维数据很常见。