connected logically, working together as part of a unified application or flexible framework. For example, the INFORMATION_SCHEMA  and performance_schema  databases use “schema”  in their names to emphasize the close relationships between the tables and columns they contain. 

In MySQL, physically, a schema  is synonymous with a database . You can substitute the keyword SCHEMA instead of DATABASE  in MySQL SQL syntax, for example using CREATE SCHEMA  instead of CREATE DATABASE . 

Some other database products draw a distinction. For example, in the Oracle Database product, a schema represents only a part of a database: the tables and other objects owned by a single user. See Also database, INFORMATION_SCHEMA, Performance Schema. 

SDI 

 Acronym for “serialized dictionary information” . See Also serialized dictionary information (SDI). 

search index 

 In MySQL, full-text search  queries use a special kind of index, the FULLTEXT index . In MySQL 5.6.4 and up, InnoDB  and MyISAM  tables both support FULLTEXT  indexes; formerly, these indexes were only available for MyISAM  tables. 

See Also full-text search, FULLTEXT index. 

secondary index 

 A type of InnoDB index  that represents a subset of table columns. An InnoDB  table can have zero, one, or many secondary indexes. (Contrast with the clustered index , which is required for each InnoDB  table, and stores the data for all the table columns.) 

A secondary index can be used to satisfy queries that only require values from the indexed columns. For more complex queries, it can be used to identify the relevant rows in the table, which are then retrieved through lookups using the clustered index. 

Creating and dropping secondary indexes has traditionally involved significant overhead from copying all the data in the InnoDB  table. The fast index creation  feature makes both CREATE INDEX  and DROP INDEX  statements much faster for InnoDB  secondary indexes. 

See Also clustered index, Fast Index Creation, index. 

segment 

 A division within an InnoDB tablespace . If a tablespace is analogous to a directory, the segments are analogous to files within that directory. A segment can grow. New segments can be created. 

For example, within a file-per-table  tablespace, table data is in one segment and each associated index is in its own segment. The system tablespace  contains many different segments, because it can hold many tables and their associated indexes. Prior to MySQL 8.0, the system tablespace also includes one or more rollback segments  used for undo logs . 

Segments grow and shrink as data is inserted and deleted. When a segment needs more room, it is extended by one extent  (1 megabyte) at a time. Similarly, a segment releases one extent’s worth of space when all the data in that extent is no longer needed. 

See Also extent, file-per-table, rollback segment, system tablespace, tablespace, undo log. 

selectivity 

 A property of data distribution, the number of distinct values in a column (its cardinality ) divided by the number of records in the table. High selectivity means that the column values are relatively unique, and can retrieved efficiently through an index. If you (or the query optimizer) can predict that a test in a WHERE  clause only matches a small number (or proportion) of rows in a table, the overall query  tends to be efficient if it evaluates that test first, using an index. 

