2013-08-19 69 views
1

我正要在MYSQL數據庫上創建一個非常大的位置表。第一列將是位置的x值或水平值,第二列將是位置的y值或垂直值。 (像經度和緯度,但無符號整數)。如何在MYSQL的兩列上實現B TREE算法

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樹索引,以及我的主鍵是什麼?

在此先感謝

回答

0

我想你想要一個空間索引。這些記錄在here

有用於多維索引的索引類型。最着名的是R-D樹,它通常與空間索引相關聯。這些通常是作爲基礎SQL的擴展的視圖,這是不幸的,因爲多維數據相當普遍。

+0

謝謝,我會嘗試閱讀! – user2696806