1

我即将在 MYSQL 数据库上创建一个非常大的位置表。第一列是位置的 x 值或水平值,第二列是位置的 y 值或垂直值。(如经度和纬度,但使用无符号整数)。

  CREATE TABLE IF NOT EXISTS `locations` (
    `horizontal_position` INT NOT NULL,
    `vertical_position`   INT NOT NULL,
    /*other columns*/
    )

x 值和 y 值同样重要,所以有一段时间我想需要一个双主键,但我什至不知道这是否可能。我认为最好使用 B 树算法进行索引,但不知道如何使它同时使用 x 和 y 列。我可以通过在 bigint 中只创建一个包含 x 和 y 值的列来规避这一点,但这似乎是人们不喜欢的那种解决方案数据库。

那么如何在两个列上创建 B 树索引以及我的主键是什么?

提前致谢

4

1 回答 1

0

我想你想要一个空间索引。这些都记录在这里

有用于多维索引的索引类型。最著名的是 RD 树,它通常与空间索引相关联。这些通常是作为基本 SQL 扩展的视图,这是不幸的,因为多维数据相当普遍。

于 2013-08-19T15:03:09.057 回答