1.索引类型
- 主键索引(primary key)
- 唯一索引(unique)
- 普通索引(可以有多列):CREATE INDEX index_name ON table_name (column_list)
- 全文索引
- 空间索引
2.查看索引
- show index from tblname;
- show keys from tblname;
- desc tblname(不能显示索引名)
3.删除索引
- DROP INDEX index_name ON talbe_name
- ALTER TABLE table_name DROP INDEX index_name
- ALTER TABLE table_name DROP PRIMARY KEY
4.创建索引
- ALTER TABLE table_name ADD INDEX index_name (column_list)
- ALTER TABLE table_name ADD UNIQUE (column_list)
- ALTER TABLE table_name ADD PRIMARY KEY (column_list)
- CREATE INDEX index_name ON table_name (column_list)
- CREATE UNIQUE INDEX index_name ON table_name (column_list)
5.索引的算法:BTREE log2n(查询效率)
6.存储引擎
- myisam BTree
- innodb BTree
- memory/heap Hash,BTree
7.索引适合
- 肯定在where条件经常使用
- 该字段的内容不是唯一的几个值(如sex)
- 字段内容不是频繁变化
8.索引注意事项
- 对于创建的多列索引,只是查询条件条件最左边的列,索引一般都会使用
- 对于使用like的查询,查询如果是‘%关键字’,便不会使用索引(空间索引代替),‘关键字%’却会使用索引
9.使用索引的缺点:
- 磁盘占用
- 对dml(update,delete,insert)语句的效率影响(索引二叉树重新调整->dml变慢)
10.查询数据库信息
- show status
- show status like 'connection' 查询连接数
- show status like 'com_select' 查询次数
- show status like 'com_update'
- show status like 'com_insert'
- show [session|global] status like ...默认的是session
10.sql的执行过程
- 编译-->执行-->缓存
- 存储过程比sql语句效率高。但sql比存储过程易移值
相关推荐
MySQL Index Condition Pushdown (ICP) 是一个重要的性能优化技术,首次出现在MySQL 5.6版本中。ICP的主要目的是减少数据访问和处理的次数,从而提高查询效率。本文将深入探讨ICP的概念、原理、实践案例以及其使用...
Table of Contents Build Your Own Database Driven Website Using PHP & MySQL Introduction Chapter 1 - Installation ... Index List of Figures List of Tables List of Sidebars
MySQL Index Condition Pushdown (ICP) 是一个在MySQL 5.6版本中引入的重要性能优化特性,它允许数据库系统在存储引擎层利用索引来预先过滤数据,从而减少不必要的磁盘I/O操作,提升查询效率。当ICP关闭时,查询过程...
本文汇总了MySQL导出所有Index 和 约束的方法,提供给大家以方便大家查询使用。具体如下: 1. 导出创建自增字段语句: SELECT CONCAT( 'ALTER TABLE `', TABLE_NAME, '` ', 'MODIFY COLUMN `', COLUMN_NAME, '` ', ...
MySQL 8.0.13开始支持 index skip scan 也即索引跳跃扫描。该优化方式支持那些SQL在不符合组合索引最左前缀的原则的情况,优化器依然能组使用组合索引。 talk is cheap ,show me the code 实践 使用官方文档的例子...
`SUBSTRING_INDEX()` 是 MySQL 数据库中的一个常用字符串处理函数,主要用于根据指定的分隔符对字符串进行分割,并返回分割后的子字符串。此函数在处理 URL 或路径等类型的数据时非常有用。 #### 二、函数语法 ```...
7.24 LOCK TABLES/UNLOCK TABLES (锁定表/解锁表)句法 7.25 SET OPTION (设置选项)句法 7.26 GRANT (授权)和REVOKE (撤回)句法 7.27 CREATE INDEX (创建索引)句法 7.28 DROP INDEX (抛弃索引)...
CREATE INDEX index_name ON table_name (column_name); ``` 6. **视图**: 视图是虚拟表,基于一个或多个表的查询结果。创建视图的语句如下: ``` CREATE VIEW view_name AS SELECT column1, column2 FROM ...
InnoDB 也增加了自适应哈希索引(Adaptive Hash Index)功能,能自动为经常访问的索引页创建哈希索引,提高查询速度。 2. **Full-text 搜索改进**:MySQL 5.5 对全文索引和搜索进行了优化,支持了短语搜索和对部分...
7.27 CREATE INDEX (创建索引)句法 7.28 DROP INDEX (抛弃索引)句法 7.29 注释句法 7.30 CREATE FUNCTION/DROP FUNCTION (创建函数/抛弃函数)句法 7.31 MySQL对保留字很挑剔吗?...
手册会讲解如何创建(CREATE INDEX)、查看(SHOW INDEXES)和删除(DROP INDEX)索引,以及不同类型的索引,如唯一索引、主键索引和全文索引。 五、视图 视图是虚拟表,由SELECT语句定义。手册会涵盖创建(CREATE ...
- 如何创建索引以及管理索引的使用(CREATE INDEX, ALTER TABLE, DROP INDEX)。 8. 数据库的故障处理与维护 - 日志文件的作用及其管理。 - 锁的概念以及MySQL如何处理并发和避免死锁。 - 事务的概念及其在...
MySQL中的`SUBSTRING_INDEX()`函数是进行字符串分割的常用工具。它返回一个子串,该子串包含了从原始字符串的起始部分到指定分隔符出现的次数。函数的基本语法如下: ```sql SUBSTRING_INDEX(str, delim, count) ``...
CREATE INDEX和DROP INDEX语句用于创建和删除索引。 7. 视图:视图是虚拟表,由SELECT语句的结果组成。视图可以简化复杂的查询,提供安全性,并隐藏底层数据结构的复杂性。 8. 存储过程和函数:MySQL支持创建存储...
MySQL数据库是一种广泛使用的开源关系型数据库管理系统,以其高效、稳定和易于管理的特性深受开发者喜爱。在本篇文章中,我们将深入探讨MySQL数据库的基本操作,包括数据的增、删、改、查(CRUD)以及一些核心概念。...
### MySQL数据库安装与使用 #### 一、MySQL简介 MySQL是一种流行的关系型数据库管理系统(RDBMS),因其性能高效、稳定性强、易于使用等特点,在互联网应用开发中被广泛采用。MySQL支持多种操作系统,如Windows、...
书中会讲解如何创建(CREATE INDEX)、查看(SHOW INDEX)和删除(DROP INDEX)索引,以及唯一索引、全文索引和复合索引的概念。 6. **视图**:视图是虚拟表,提供了数据的另一种呈现方式。书中会介绍如何创建和...
REBUILD INDEX`)、检查和修复表(`CHECK TABLE`, `REPAIR TABLE`)等。 5. 查询性能分析:`EXPLAIN`关键字用于分析查询执行计划,帮助找出性能瓶颈。还可以使用`SHOW VARIABLES LIKE '%%'`查看服务器配置,`SHOW ...
6. **索引**:索引用于提高查询速度,手册会介绍如何创建(CREATE INDEX)、删除(DROP INDEX)以及使用各种类型的索引(如B-tree, hash, full-text)。 7. **函数与运算符**:MySQL包含大量内置函数,如数学函数、...