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寶典今日頭條號地址:http://www.toutiao.com/c/user/6401772890/#mid=1564638659405826
.............................................................................................................................................
● QQ群號:230161599(滿)、618766405
● 微信群:可加我微信,我拉大家進群,非誠勿擾
● 聯絡我請加QQ好友(646634621),註明新增緣由
● 於 2017-09-01 09:00 ~ 2017-09-30 22:00 在魔都完成
● 文章內容來源於小麥苗的學習筆記,部分整理自網路,若有侵權或不當之處還請諒解
● 版權所有,歡迎分享本文,轉載請保留出處
.............................................................................................................................................
● 小麥苗的微店:https://weidian.com/s/793741433?wfr=c&ifr=shopdetail
● 小麥苗出版的資料庫類叢書:http://blog.itpub.net/26736162/viewspace-2142121/
.............................................................................................................................................
使用微信客戶端掃描下面的二維碼來關注小麥苗的微信公眾號(xiaomaimiaolhr)及QQ群(DBA寶典),學習最實用的資料庫技術。
小麥苗的微信公眾號 小麥苗的DBA寶典QQ群1 小麥苗的DBA寶典QQ群2 小麥苗的微店
.............................................................................................................................................
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26736162/viewspace-2144682/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- mysql索引型別:FULLTEXT、NORMAL、SPATIAL、UNIQUEMySql索引型別ORM
- mysql索引之字首索引MySql索引
- Mysql索引優化之索引的分類MySql索引優化
- MySQL學習之索引MySql索引
- ElasticSearch 索引 VS MySQL 索引Elasticsearch索引MySql
- Oracle中表空間、表、索引的遷移Oracle索引
- MySQL資料庫之索引MySql資料庫索引
- MySql乾貨分享之索引MySql索引
- MySQL優化之索引解析MySql優化索引
- MySQL索引系列:全文索引MySql索引
- MySQL 字串索引和字首索引MySql字串索引
- mysql索引MySql索引
- [Mysql]索引MySql索引
- MySQL 索引MySql索引
- MySQL — 索引MySql索引
- MySQL調優之索引優化MySql索引優化
- MySQL 之索引常見內容MySql索引
- 深入理解MySQL系列之索引MySql索引
- mysql組合索引,abc索引命中MySql索引
- MySQL 唯一索引和普通索引MySql索引
- MySQL 索引初探MySql索引
- Mysql索引使用MySql索引
- MySQL索引原理MySql索引
- MySQL 二 索引MySql索引
- MySQL 索引 +explainMySql索引AI
- MySQL的索引MySql索引
- MySQL InnoDB 索引MySql索引
- MySQL 聚簇索引 和覆蓋索引MySql索引
- MYSQL索引及高效能索引策略MySql索引
- MySQL索引(二):建索引的原則MySql索引
- Mysql研磨之設計索引原則MySql索引
- MySQL面試必備一之索引MySql面試索引
- MySQL索引失效之隱式轉換MySql索引
- MySQL效能優化之索引設計MySql優化索引
- MYSQL索引為什麼這麼快?瞭解索引的神奇之處MySql索引
- 【Mysql】InnoDB 中的聚簇索引、二級索引、聯合索引MySql索引
- Mysql索引以及使用索引注意事項MySql索引
- mysql 索引分類MySql索引
- MySql索引那些事MySql索引