mirror of
https://github.com/MariaDB/server.git
synced 2025-07-27 18:02:13 +03:00
MDEV-7317: Make an index ignorable to the optimizer
This feature adds the functionality of ignorability for indexes. Indexes are not ignored be default. To control index ignorability explicitly for a new index, use IGNORE or NOT IGNORE as part of the index definition for CREATE TABLE, CREATE INDEX, or ALTER TABLE. Primary keys (explicit or implicit) cannot be made ignorable. The table INFORMATION_SCHEMA.STATISTICS get a new column named IGNORED that would store whether an index needs to be ignored or not.
This commit is contained in:
@ -130,13 +130,13 @@ tab CREATE TABLE `tab` (
|
||||
KEY `idx6` (`c4`(10)) USING BTREE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||
SHOW INDEX FROM tab;
|
||||
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
|
||||
tab 0 PRIMARY 1 c1 A # NULL NULL BTREE
|
||||
tab 1 idx2 1 c2 A # 32 NULL SPATIAL
|
||||
tab 1 idx3 1 c3 A # 32 NULL SPATIAL
|
||||
tab 1 idx4 1 c4 A # 32 NULL SPATIAL testing spatial index on Polygon
|
||||
tab 1 idx5 1 c5 A # 32 NULL SPATIAL testing spatial index on Geometry
|
||||
tab 1 idx6 1 c4 A # 10 NULL BTREE
|
||||
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
|
||||
tab 0 PRIMARY 1 c1 A # NULL NULL BTREE NO
|
||||
tab 1 idx2 1 c2 A # 32 NULL SPATIAL NO
|
||||
tab 1 idx3 1 c3 A # 32 NULL SPATIAL NO
|
||||
tab 1 idx4 1 c4 A # 32 NULL SPATIAL testing spatial index on Polygon NO
|
||||
tab 1 idx5 1 c5 A # 32 NULL SPATIAL testing spatial index on Geometry NO
|
||||
tab 1 idx6 1 c4 A # 10 NULL BTREE NO
|
||||
SET @g1 = ST_GeomFromText('POLYGON((20 20,30 30,40 40,50 50,40 50,30 40,30 30,20 20))');
|
||||
SELECT c1,ST_Astext(c2),ST_Astext(c4) FROM tab WHERE ST_Crosses(tab.c4, @g1);
|
||||
c1 ST_Astext(c2) ST_Astext(c4)
|
||||
@ -174,13 +174,13 @@ tab CREATE TABLE `tab` (
|
||||
KEY `idx6` (`c44`(10)) USING BTREE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||
SHOW INDEX FROM tab;
|
||||
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
|
||||
tab 0 PRIMARY 1 c1 A # NULL NULL BTREE
|
||||
tab 1 idx2 1 c22 A # 32 NULL SPATIAL
|
||||
tab 1 idx3 1 c33 A # 32 NULL SPATIAL
|
||||
tab 1 idx4 1 c44 A # 32 NULL SPATIAL testing spatial index on Polygon
|
||||
tab 1 idx5 1 c5 A # 32 NULL SPATIAL testing spatial index on Geometry
|
||||
tab 1 idx6 1 c44 A # 10 NULL BTREE
|
||||
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
|
||||
tab 0 PRIMARY 1 c1 A # NULL NULL BTREE NO
|
||||
tab 1 idx2 1 c22 A # 32 NULL SPATIAL NO
|
||||
tab 1 idx3 1 c33 A # 32 NULL SPATIAL NO
|
||||
tab 1 idx4 1 c44 A # 32 NULL SPATIAL testing spatial index on Polygon NO
|
||||
tab 1 idx5 1 c5 A # 32 NULL SPATIAL testing spatial index on Geometry NO
|
||||
tab 1 idx6 1 c44 A # 10 NULL BTREE NO
|
||||
ALTER TABLE tab CHANGE COLUMN c22 c2 POINT NOT NULL;
|
||||
affected rows: 0
|
||||
info: Records: 0 Duplicates: 0 Warnings: 0
|
||||
@ -206,13 +206,13 @@ tab CREATE TABLE `tab` (
|
||||
KEY `idx6` (`c4`(10)) USING BTREE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||
SHOW INDEX FROM tab;
|
||||
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
|
||||
tab 0 PRIMARY 1 c1 A # NULL NULL BTREE
|
||||
tab 1 idx2 1 c2 A # 32 NULL SPATIAL
|
||||
tab 1 idx3 1 c3 A # 32 NULL SPATIAL
|
||||
tab 1 idx4 1 c4 A # 32 NULL SPATIAL testing spatial index on Polygon
|
||||
tab 1 idx5 1 c5 A # 32 NULL SPATIAL testing spatial index on Geometry
|
||||
tab 1 idx6 1 c4 A # 10 NULL BTREE
|
||||
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
|
||||
tab 0 PRIMARY 1 c1 A # NULL NULL BTREE NO
|
||||
tab 1 idx2 1 c2 A # 32 NULL SPATIAL NO
|
||||
tab 1 idx3 1 c3 A # 32 NULL SPATIAL NO
|
||||
tab 1 idx4 1 c4 A # 32 NULL SPATIAL testing spatial index on Polygon NO
|
||||
tab 1 idx5 1 c5 A # 32 NULL SPATIAL testing spatial index on Geometry NO
|
||||
tab 1 idx6 1 c4 A # 10 NULL BTREE NO
|
||||
ALTER TABLE tab DISABLE KEYS;
|
||||
Warnings:
|
||||
Note 1031 Storage engine InnoDB of the table `test`.`tab` doesn't have this option
|
||||
@ -332,11 +332,11 @@ tab CREATE TABLE `tab` (
|
||||
KEY `idx6` (`c4`(10)) USING BTREE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||
SHOW INDEX FROM tab;
|
||||
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
|
||||
tab 1 idx3 1 c3 A # 32 NULL SPATIAL
|
||||
tab 1 idx4 1 c4 A # 32 NULL SPATIAL testing spatial index on Polygon
|
||||
tab 1 idx5 1 c5 A # 32 NULL SPATIAL testing spatial index on Geometry
|
||||
tab 1 idx6 1 c4 A # 10 NULL BTREE
|
||||
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
|
||||
tab 1 idx3 1 c3 A # 32 NULL SPATIAL NO
|
||||
tab 1 idx4 1 c4 A # 32 NULL SPATIAL testing spatial index on Polygon NO
|
||||
tab 1 idx5 1 c5 A # 32 NULL SPATIAL testing spatial index on Geometry NO
|
||||
tab 1 idx6 1 c4 A # 10 NULL BTREE NO
|
||||
DELETE FROM tab;
|
||||
ALTER TABLE tab ADD PRIMARY KEY(c2);
|
||||
affected rows: 0
|
||||
@ -364,14 +364,14 @@ tab CREATE TABLE `tab` (
|
||||
SPATIAL KEY `idx2` (`c2`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||
SHOW INDEX FROM tab;
|
||||
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
|
||||
tab 0 PRIMARY 1 c2 A # 25 NULL BTREE
|
||||
tab 0 const_1 1 c2 A # 25 NULL BTREE
|
||||
tab 1 idx3 1 c3 A # 32 NULL SPATIAL
|
||||
tab 1 idx4 1 c4 A # 32 NULL SPATIAL testing spatial index on Polygon
|
||||
tab 1 idx5 1 c5 A # 32 NULL SPATIAL testing spatial index on Geometry
|
||||
tab 1 idx6 1 c4 A # 10 NULL BTREE
|
||||
tab 1 idx2 1 c2 A # 32 NULL SPATIAL
|
||||
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
|
||||
tab 0 PRIMARY 1 c2 A # 25 NULL BTREE NO
|
||||
tab 0 const_1 1 c2 A # 25 NULL BTREE NO
|
||||
tab 1 idx3 1 c3 A # 32 NULL SPATIAL NO
|
||||
tab 1 idx4 1 c4 A # 32 NULL SPATIAL testing spatial index on Polygon NO
|
||||
tab 1 idx5 1 c5 A # 32 NULL SPATIAL testing spatial index on Geometry NO
|
||||
tab 1 idx6 1 c4 A # 10 NULL BTREE NO
|
||||
tab 1 idx2 1 c2 A # 32 NULL SPATIAL NO
|
||||
INSERT INTO tab(c1,c2,c3,c4,c5)
|
||||
VALUES(1,ST_GeomFromText('POINT(10 10)'),ST_GeomFromText('LINESTRING(5 5,20 20,30 30)'),
|
||||
ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))'),
|
||||
@ -406,14 +406,14 @@ tab CREATE TABLE `tab` (
|
||||
SPATIAL KEY `idx2` (`c2`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||
SHOW INDEX FROM tab;
|
||||
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
|
||||
tab 0 PRIMARY 1 c5 A # 10 NULL BTREE
|
||||
tab 0 const_1 1 c5 A # 10 NULL BTREE
|
||||
tab 1 idx3 1 c3 A # 32 NULL SPATIAL
|
||||
tab 1 idx4 1 c4 A # 32 NULL SPATIAL testing spatial index on Polygon
|
||||
tab 1 idx5 1 c5 A # 32 NULL SPATIAL testing spatial index on Geometry
|
||||
tab 1 idx6 1 c4 A # 10 NULL BTREE
|
||||
tab 1 idx2 1 c2 A # 32 NULL SPATIAL
|
||||
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
|
||||
tab 0 PRIMARY 1 c5 A # 10 NULL BTREE NO
|
||||
tab 0 const_1 1 c5 A # 10 NULL BTREE NO
|
||||
tab 1 idx3 1 c3 A # 32 NULL SPATIAL NO
|
||||
tab 1 idx4 1 c4 A # 32 NULL SPATIAL testing spatial index on Polygon NO
|
||||
tab 1 idx5 1 c5 A # 32 NULL SPATIAL testing spatial index on Geometry NO
|
||||
tab 1 idx6 1 c4 A # 10 NULL BTREE NO
|
||||
tab 1 idx2 1 c2 A # 32 NULL SPATIAL NO
|
||||
INSERT INTO tab(c1,c2,c3,c4,c5)
|
||||
VALUES(1,ST_GeomFromText('POINT(10 10)'),ST_GeomFromText('LINESTRING(5 5,20 20,30 30)'),
|
||||
ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))'),
|
||||
@ -540,13 +540,13 @@ tab CREATE TABLE `tab` (
|
||||
KEY `idx6` (`c4`(10)) USING BTREE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||
SHOW INDEX FROM tab;
|
||||
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
|
||||
tab 0 PRIMARY 1 c1 A # NULL NULL BTREE
|
||||
tab 1 idx2 1 c2 A # 32 NULL SPATIAL
|
||||
tab 1 idx3 1 c3 A # 32 NULL SPATIAL
|
||||
tab 1 idx4 1 c4 A # 32 NULL SPATIAL testing spatial index on Polygon
|
||||
tab 1 idx5 1 c5 A # 32 NULL SPATIAL testing spatial index on Geometry
|
||||
tab 1 idx6 1 c4 A # 10 NULL BTREE
|
||||
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
|
||||
tab 0 PRIMARY 1 c1 A # NULL NULL BTREE NO
|
||||
tab 1 idx2 1 c2 A # 32 NULL SPATIAL NO
|
||||
tab 1 idx3 1 c3 A # 32 NULL SPATIAL NO
|
||||
tab 1 idx4 1 c4 A # 32 NULL SPATIAL testing spatial index on Polygon NO
|
||||
tab 1 idx5 1 c5 A # 32 NULL SPATIAL testing spatial index on Geometry NO
|
||||
tab 1 idx6 1 c4 A # 10 NULL BTREE NO
|
||||
SET @g1 = ST_GeomFromText( 'POLYGON((7 1,6 2,6 3,10 3,10 1,7 1))');
|
||||
UPDATE tab SET C2 = ST_GeomFromText('POINT(1000 1000)')
|
||||
WHERE MBRContains(tab.c4, @g1);
|
||||
@ -577,13 +577,13 @@ tab CREATE TABLE `tab` (
|
||||
KEY `idx6` (`c4`(10)) USING BTREE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||
SHOW INDEX FROM tab;
|
||||
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
|
||||
tab 0 PRIMARY 1 c1 A # NULL NULL BTREE
|
||||
tab 1 idx2 1 c2 A # 32 NULL SPATIAL
|
||||
tab 1 idx3 1 c3 A # 32 NULL SPATIAL
|
||||
tab 1 idx4 1 c4 A # 32 NULL SPATIAL testing spatial index on Polygon
|
||||
tab 1 idx5 1 c5 A # 32 NULL SPATIAL testing spatial index on Geometry
|
||||
tab 1 idx6 1 c4 A # 10 NULL BTREE
|
||||
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
|
||||
tab 0 PRIMARY 1 c1 A # NULL NULL BTREE NO
|
||||
tab 1 idx2 1 c2 A # 32 NULL SPATIAL NO
|
||||
tab 1 idx3 1 c3 A # 32 NULL SPATIAL NO
|
||||
tab 1 idx4 1 c4 A # 32 NULL SPATIAL testing spatial index on Polygon NO
|
||||
tab 1 idx5 1 c5 A # 32 NULL SPATIAL testing spatial index on Geometry NO
|
||||
tab 1 idx6 1 c4 A # 10 NULL BTREE NO
|
||||
ANALYZE TABLE tab;
|
||||
Table Op Msg_type Msg_text
|
||||
test.tab analyze status Engine-independent statistics collected
|
||||
@ -634,13 +634,13 @@ tab CREATE TABLE `tab` (
|
||||
KEY `idx6` (`c4`(10)) USING BTREE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||
SHOW INDEX FROM tab;
|
||||
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
|
||||
tab 0 PRIMARY 1 c1 A # NULL NULL BTREE
|
||||
tab 1 idx2 1 c2 A # 32 NULL SPATIAL
|
||||
tab 1 idx3 1 c3 A # 32 NULL SPATIAL
|
||||
tab 1 idx4 1 c4 A # 32 NULL SPATIAL testing spatial index on Polygon
|
||||
tab 1 idx5 1 c5 A # 32 NULL SPATIAL testing spatial index on Geometry
|
||||
tab 1 idx6 1 c4 A # 10 NULL BTREE
|
||||
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
|
||||
tab 0 PRIMARY 1 c1 A # NULL NULL BTREE NO
|
||||
tab 1 idx2 1 c2 A # 32 NULL SPATIAL NO
|
||||
tab 1 idx3 1 c3 A # 32 NULL SPATIAL NO
|
||||
tab 1 idx4 1 c4 A # 32 NULL SPATIAL testing spatial index on Polygon NO
|
||||
tab 1 idx5 1 c5 A # 32 NULL SPATIAL testing spatial index on Geometry NO
|
||||
tab 1 idx6 1 c4 A # 10 NULL BTREE NO
|
||||
ANALYZE TABLE tab;
|
||||
Table Op Msg_type Msg_text
|
||||
test.tab analyze status Engine-independent statistics collected
|
||||
@ -716,12 +716,12 @@ child CREATE TABLE `child` (
|
||||
SPATIAL KEY `idx2` (`parent_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||
SHOW INDEX FROM parent;
|
||||
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
|
||||
parent 0 PRIMARY 1 id A 0 25 NULL BTREE
|
||||
parent 1 idx1 1 id A NULL 32 NULL SPATIAL
|
||||
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
|
||||
parent 0 PRIMARY 1 id A 0 25 NULL BTREE NO
|
||||
parent 1 idx1 1 id A NULL 32 NULL SPATIAL NO
|
||||
SHOW INDEX FROM child;
|
||||
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
|
||||
child 1 idx2 1 parent_id A # 32 NULL SPATIAL
|
||||
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
|
||||
child 1 idx2 1 parent_id A # 32 NULL SPATIAL NO
|
||||
ALTER TABLE child ADD FOREIGN KEY(parent_id) REFERENCES parent(id) ;
|
||||
ALTER TABLE child ADD FOREIGN KEY(parent_id) REFERENCES parent(id) ON DELETE CASCADE ;
|
||||
DROP table child,parent;
|
||||
@ -748,12 +748,12 @@ child CREATE TABLE `child` (
|
||||
SPATIAL KEY `idx2` (`parent_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||
SHOW INDEX FROM parent;
|
||||
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
|
||||
parent 0 PRIMARY 1 id A 0 10 NULL BTREE
|
||||
parent 1 idx1 1 id A NULL 32 NULL SPATIAL
|
||||
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
|
||||
parent 0 PRIMARY 1 id A 0 10 NULL BTREE NO
|
||||
parent 1 idx1 1 id A NULL 32 NULL SPATIAL NO
|
||||
SHOW INDEX FROM child;
|
||||
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
|
||||
child 1 idx2 1 parent_id A NULL 32 NULL SPATIAL
|
||||
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
|
||||
child 1 idx2 1 parent_id A NULL 32 NULL SPATIAL NO
|
||||
ALTER TABLE child ADD FOREIGN KEY(parent_id) REFERENCES parent(id) ;
|
||||
DROP table child,parent;
|
||||
create table t1 (c1 int) engine=innodb;
|
||||
|
@ -7,12 +7,12 @@ CREATE SPATIAL INDEX idx3 on tab(c4 ASC) KEY_BLOCK_SIZE=8 ;
|
||||
CREATE SPATIAL INDEX idx4 on tab(c5 DESC) KEY_BLOCK_SIZE=4
|
||||
COMMENT 'Spatial index on Geometry type column';
|
||||
SHOW INDEXES FROM tab;
|
||||
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
|
||||
tab 0 PRIMARY 1 c1 A 0 NULL NULL BTREE
|
||||
tab 1 idx1 1 c2 A NULL 32 NULL SPATIAL
|
||||
tab 1 idx2 1 c3 A NULL 32 NULL SPATIAL wl6968
|
||||
tab 1 idx3 1 c4 A NULL 32 NULL SPATIAL
|
||||
tab 1 idx4 1 c5 A NULL 32 NULL SPATIAL Spatial index on Geometry type column
|
||||
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
|
||||
tab 0 PRIMARY 1 c1 A 0 NULL NULL BTREE NO
|
||||
tab 1 idx1 1 c2 A NULL 32 NULL SPATIAL NO
|
||||
tab 1 idx2 1 c3 A NULL 32 NULL SPATIAL wl6968 NO
|
||||
tab 1 idx3 1 c4 A NULL 32 NULL SPATIAL NO
|
||||
tab 1 idx4 1 c5 A NULL 32 NULL SPATIAL Spatial index on Geometry type column NO
|
||||
INSERT INTO tab(c1,c2,c3,c4,c5)
|
||||
VALUES(1,ST_GeomFromText('POINT(10 10)'),ST_GeomFromText('LINESTRING(5 5,20 20,30 30)'),
|
||||
ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))'),
|
||||
@ -437,11 +437,11 @@ CREATE SPATIAL INDEX idx3 on tab(c4 ASC) KEY_BLOCK_SIZE=2 ;
|
||||
CREATE SPATIAL INDEX idx4 on tab(c5 DESC) KEY_BLOCK_SIZE=8
|
||||
COMMENT 'Spatial index on Geometry type column';
|
||||
SHOW INDEXES FROM tab;
|
||||
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
|
||||
tab 1 idx1 1 c2 A NULL 32 NULL SPATIAL
|
||||
tab 1 idx2 1 c3 A NULL 32 NULL SPATIAL wl6968
|
||||
tab 1 idx3 1 c4 A NULL 32 NULL SPATIAL
|
||||
tab 1 idx4 1 c5 A NULL 32 NULL SPATIAL Spatial index on Geometry type column
|
||||
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
|
||||
tab 1 idx1 1 c2 A NULL 32 NULL SPATIAL NO
|
||||
tab 1 idx2 1 c3 A NULL 32 NULL SPATIAL wl6968 NO
|
||||
tab 1 idx3 1 c4 A NULL 32 NULL SPATIAL NO
|
||||
tab 1 idx4 1 c5 A NULL 32 NULL SPATIAL Spatial index on Geometry type column NO
|
||||
INSERT INTO tab(c1,c2,c3,c4,c5)
|
||||
VALUES(1,ST_GeomFromText('POINT(10 10)'),ST_GeomFromText('LINESTRING(5 5,20 20,30 30)'),
|
||||
ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))'),
|
||||
@ -854,12 +854,12 @@ CREATE SPATIAL INDEX idx3 on tab(c4 ASC) KEY_BLOCK_SIZE=16 ;
|
||||
CREATE SPATIAL INDEX idx4 on tab(c5 DESC) KEY_BLOCK_SIZE=16
|
||||
COMMENT 'Spatial index on Geometry type column';
|
||||
SHOW INDEXES FROM tab;
|
||||
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
|
||||
tab 0 PRIMARY 1 c1 A 0 NULL NULL BTREE
|
||||
tab 1 idx1 1 c2 A NULL 32 NULL SPATIAL
|
||||
tab 1 idx2 1 c3 A NULL 32 NULL SPATIAL wl6968
|
||||
tab 1 idx3 1 c4 A NULL 32 NULL SPATIAL
|
||||
tab 1 idx4 1 c5 A NULL 32 NULL SPATIAL Spatial index on Geometry type column
|
||||
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
|
||||
tab 0 PRIMARY 1 c1 A 0 NULL NULL BTREE NO
|
||||
tab 1 idx1 1 c2 A NULL 32 NULL SPATIAL NO
|
||||
tab 1 idx2 1 c3 A NULL 32 NULL SPATIAL wl6968 NO
|
||||
tab 1 idx3 1 c4 A NULL 32 NULL SPATIAL NO
|
||||
tab 1 idx4 1 c5 A NULL 32 NULL SPATIAL Spatial index on Geometry type column NO
|
||||
INSERT INTO tab(c2,c3,c4,c5)
|
||||
VALUES(ST_GeomFromText('POINT(10 10)'),ST_GeomFromText('LINESTRING(5 5,20 20,30 30)'),
|
||||
ST_GeomFromText('POLYGON((30 30,40 40,50 50,30 50,30 40,30 30))'),
|
||||
@ -1255,8 +1255,8 @@ tab CREATE TABLE `tab` (
|
||||
CONSTRAINT `tab_const` CHECK (cast(`c1` as char charset binary) > 0)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||
SHOW INDEX FROM tab;
|
||||
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
|
||||
tab 1 idx1 1 c1 A NULL 32 NULL SPATIAL
|
||||
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
|
||||
tab 1 idx1 1 c1 A NULL 32 NULL SPATIAL NO
|
||||
set @g1 = ST_GeomFromText('POINT(-1 -2)');
|
||||
SELECT ST_AsText(c1) FROM tab;
|
||||
ST_AsText(c1)
|
||||
|
@ -37,8 +37,8 @@ POINT(3 3)
|
||||
POINT(3.1 3.1)
|
||||
POINT(2 2)
|
||||
show indexes from t1;
|
||||
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
|
||||
t1 1 g 1 g A # 32 NULL SPATIAL
|
||||
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
|
||||
t1 1 g 1 g A # 32 NULL SPATIAL NO
|
||||
drop table t1;
|
||||
create table t1 (name VARCHAR(100), square GEOMETRY not null, spatial index (square))engine=innodb;
|
||||
INSERT INTO t1 VALUES("small", ST_GeomFromText('POLYGON (( 0 0, 0 1, 1 1, 1 0, 0 0))'));
|
||||
@ -183,10 +183,10 @@ POINT(3 3)
|
||||
POINT(3.1 3.1)
|
||||
POINT(2 2)
|
||||
show indexes from t1;
|
||||
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
|
||||
t1 0 PRIMARY 1 i A # NULL NULL BTREE
|
||||
t1 0 PRIMARY 2 i2 A # NULL NULL BTREE
|
||||
t1 1 g 1 g A # 32 NULL SPATIAL
|
||||
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
|
||||
t1 0 PRIMARY 1 i A # NULL NULL BTREE NO
|
||||
t1 0 PRIMARY 2 i2 A # NULL NULL BTREE NO
|
||||
t1 1 g 1 g A # 32 NULL SPATIAL NO
|
||||
drop table t1;
|
||||
CREATE TABLE `t1` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
|
@ -37,10 +37,10 @@ POINT(3 3)
|
||||
POINT(3.1 3.1)
|
||||
POINT(2 2)
|
||||
show indexes from t1;
|
||||
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment
|
||||
t1 0 PRIMARY 1 i A # NULL NULL BTREE
|
||||
t1 0 PRIMARY 2 i2 A # NULL NULL BTREE
|
||||
t1 1 g 1 g A # 32 NULL SPATIAL
|
||||
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_comment Ignored
|
||||
t1 0 PRIMARY 1 i A # NULL NULL BTREE NO
|
||||
t1 0 PRIMARY 2 i2 A # NULL NULL BTREE NO
|
||||
t1 1 g 1 g A # 32 NULL SPATIAL NO
|
||||
drop table t1;
|
||||
create table t1 (name VARCHAR(100), square GEOMETRY not null, spatial index (square))engine=innodb;
|
||||
INSERT INTO t1 VALUES("small", ST_GeomFromText('POLYGON (( 0 0, 0 1, 1 1, 1 0, 0 0))'));
|
||||
|
Reference in New Issue
Block a user