mysql(2):索引
索引基础 索引介绍 定义 索引是满足某种特定查找算法的数据结构。这些数据结构会以某种方式指向数据,从而实现高效查找。 优势 提高了查询速度 劣势 降低更新表的速度,因为更新表时,MySQL不仅要保存数据,还要保存索引文件。 建立索引会占用磁盘空间的索引文件。 索引分类 主键索引 根据主键pk_column(length)建立索引, 不允许重复,不允许空值 。 ALTER TABLE 'table_name' ADD PRIMARY KEY pk_index('col'); 唯一索引UNIQUE 用来建立索引的列的值必须是 唯一的,允许空值 。 ALTER TABLE 'table_name' ADD UNIQUE INDEX index_name('col'); 普通索引 用 普通列 构建的索引,没有任何限制。 ALTER TABLE 'table_name' ADD INDEX index_name('col'); 组合索引 用多个列组合构建的索引,这多个列中的值不允许有空值。 ALTER TABLE 'table_name' ADD INDEX index_name('col1','col2','col3'); 遵循“最左前缀”原则,把最常用作为检索或排序的列放在最左,依次递减,组合索引 相当于建立了col1,[col1,col2],[col1,col2,col3]三个索引