MySQL索引之空間索引(SPATIAL)
mysql對GIS空間資料的支援,包括建立空間索引
CREATE TABLE tb_geo( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(128) NOT NULL, pnt POINT NOT NULL, SPATIAL INDEX `spatIdx` (`pnt`) )ENGINE=MYISAM DEFAULT CHARSET=utf8; DESCRIBE tb_geo; INSERT INTO `tb_geo` VALUES( NULL, 'a test string', POINTFROMTEXT('POINT(15 20)')); SELECT id,NAME,ASTEXT(pnt) FROM tb_geo; SELECT id,NAME,X(pnt),Y(pnt) FROM tb_geo; SELECT ASTEXT(pnt) FROM tb_geo WHERE MBRWITHIN(pnt,GEOMFROMTEXT('Polygon((0 0,0 30,30 30,30 0,0 0))')); DROP TABLE tb_geo; SET @g1 = GEOMFROMTEXT('Polygon((0 0,0 3,3 3,3 0,0 0))'); SET @g2 = GEOMFROMTEXT('Point(1 1)'); SELECT MBRCONTAINS(@g1,@g2), MBRCONTAINS(@g2,@g1), MBRCONTAINS(@g1,@g1); SELECT MBRWITHIN(@g2,@g1),MBRWITHIN(@g1,@g2); SELECT MBRDISJOINT(@g1,@g2); SELECT MBREQUAL(@g1,@g2); SELECT MBRINTERSECTS(@g1,@g2); SELECT MBROVERLAPS(@g1,@g2); SELECT MBRTOUCHES(@g1,@g2); |
注:
在最新發布的MySQL 5.7.4實驗室版本中,InnoDB儲存引擎新增了對於幾何資料空間索引的支援。
在此之前,InnoDB將幾何資料儲存為BLOB(二進位制大物件)資料,在空間資料上只能建立字首索引,當涉及空間搜尋時非常低效,尤其是在涉及複雜的幾何資料時。在大多數情況下,獲得結果的唯一方式是掃描表。
新版本MySQL中,InnoDB支援空間索引,透過R樹來實現,使得空間搜尋變得高效。
InnoDB空間索引也支援MyISAM引擎現有的空間索引的語法,此外,InnoDB空間索引支援完整的事務特性以及隔離級別。
目前,InnoDB空間索引只支援兩個維度的資料,MySQL開發團隊表示有計劃支援多維。此外,開發團隊正在做更多關於效能方面的工作,以使其更加高效。
About Me
.............................................................................................................................................
● 本文作者:小麥苗,部分內容整理自網路,若有侵權請聯絡小麥苗刪除
● 本文在itpub(http://blog.itpub.net/26736162/abstract/1/)、部落格園(http://www.cnblogs.com/lhrbest)和個人微信公眾號(xiaomaimiaolhr)上有同步更新
● 本文itpub地址:http://blog.itpub.net/26736162/abstract/1/
● 本文部落格園地址:http://www.cnblogs.com/lhrbest
● 本文pdf版、個人簡介及小麥苗雲盤地址:http://blog.itpub.net/26736162/viewspace-1624453/
● 資料庫筆試面試題庫及解答:http://blog.itpub.net/26736162/viewspace-2134706/
● DBA寶典今日頭條號地址:
.............................................................................................................................................
● QQ群號:230161599(滿)、618766405
● 微信群:可加我微信,我拉大家進群,非誠勿擾
● 聯絡我請加QQ好友(646634621),註明新增緣由
● 於 2017-09-01 09:00 ~ 2017-09-30 22:00 在魔都完成
● 文章內容來源於小麥苗的學習筆記,部分整理自網路,若有侵權或不當之處還請諒解
● 版權所有,歡迎分享本文,轉載請保留出處
.............................................................................................................................................
● 小麥苗的微店:
● 小麥苗出版的資料庫類叢書:http://blog.itpub.net/26736162/viewspace-2142121/
.............................................................................................................................................
使用微信客戶端掃描下面的二維碼來關注小麥苗的微信公眾號(xiaomaimiaolhr)及QQ群(DBA寶典),學習最實用的資料庫技術。
小麥苗的微信公眾號 小麥苗的DBA寶典QQ群1 小麥苗的DBA寶典QQ群2 小麥苗的微店
.............................................................................................................................................
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26736162/viewspace-2144682/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle spatial之基礎知識之四空間索引Oracle索引
- mysql索引型別:FULLTEXT、NORMAL、SPATIAL、UNIQUEMySql索引型別ORM
- 空間索引 - 各資料庫空間索引使用報告索引資料庫
- 深入淺出空間索引:為什麼需要空間索引索引
- mysql索引之字首索引MySql索引
- oracle spatial之空間操作符Oracle
- MySQL之索引MySql索引
- FAQ系列|MySQL索引之聚集索引MySql索引
- 深入淺出空間索引:2索引
- Mysql索引優化之索引的分類MySql索引優化
- MySQL學習之索引MySql索引
- ElasticSearch 索引 VS MySQL 索引Elasticsearch索引MySql
- Oracle中表空間、表、索引的遷移Oracle索引
- Oracle表、索引修改表空間語句Oracle索引
- MySQL資料庫之索引MySql資料庫索引
- MySql乾貨分享之索引MySql索引
- MySQL優化之索引解析MySql優化索引
- 空間分析演算法——Spatial Jion演算法
- MySQL索引系列:全文索引MySql索引
- MySQL 字串索引和字首索引MySql字串索引
- MySQL — 索引MySql索引
- MySQL 索引MySql索引
- mysql索引MySql索引
- [Mysql]索引MySql索引
- oracle資料庫中索引空間的重用Oracle資料庫索引
- 表、索引遷移表空間alter table move索引
- 工作筆記 - 調整索引和表空間筆記索引
- oracle 估算一個索引所需要的空間Oracle索引
- MySQL調優之索引優化MySql索引優化
- 深入理解MySQL系列之索引MySql索引
- MySQL 之索引常見內容MySql索引
- MySQL面試必備一之索引MySql面試索引
- 重建索引一定能提高索引儲存空間利用率和效率嗎?索引
- mysql組合索引,abc索引命中MySql索引
- Mysql索引結構與索引原理MySql索引
- MySQL 唯一索引和普通索引MySql索引
- MongoDB之索引(地理資訊索引)MongoDB索引
- MongoDB之索引(全文索引)MongoDB索引