Mysql必读如何使用索引提高查询速度
《Mysql必读如何使用索引提高查询速度》要点: MYSQL学习使用索引提高查询速度 MYSQL学习2.mysql索引类型及创建 CREATE TABLE user( id int unsigned not null auto_increment, name varchar(50) not null, email varchar(40) not null, primary key (id) ); (2)普通索引 这是最基本的索引,它没有任何限制.创建方式: 代码如下: create index idx_name on user( name(20) ); mysql支持前缀索引,一般姓名不会超过20个字符,所以我们这里建立索引的时候限定了长度20,这样可以节省索引文件大小 (3)唯一索引 它与前面的普通索引类似,不同的就是:索引列的值必须唯一,但允许有空值.如果是组合索引,则列值的组合必须唯一.创建方式: 代码如下: CREATE UNIQUE INDEX idx_email ON user( ); (4)全文索引 MySQL支持全文索引和搜索功能.MySQL中的全文索引类型为FULLTEXT的索引.? FULLTEXT 索引仅可用于 MyISAM表; 代码如下: CREATE TABLE articles ( ?? id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY, ?? title VARCHAR(200), ?? body TEXT, ?? FULLTEXT (title,body) ??? ); mysql> SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('database'); MYSQL学习查询结果: CREATE TABLE test ( ??? id INT NOT NULL, ??? last_name CHAR(30) NOT NULL, ??? first_name CHAR(30) NOT NULL, ??? PRIMARY KEY (id), ??? INDEX name (last_name,first_name) ); name索引是一个对last_name和first_name的索引.索引可以用于为last_name,或者为last_name和first_name在已知范围内指定值的查询.因此,name索引用于下面的查询: SELECT * FROM test WHERE last_name='Widenius'; SELECT * FROM test WHERE last_name='Widenius' AND first_name='Michael'; 但是不能用于SELECT * FROM test WHERE first_name='Michael';这是因为MySQL组合索引为“最左前缀”的结果,简单的理解就是只从最左面的开始组合. MYSQL学习3.在什么情况下使用索引 MYSQL学习a.未建立索引前 explain select name from fps where name="李武"; [SQL] select name from fps where name="李武"; 影响的数据栏: 0 时间: 0.003ms b.建立索引后 代码如下: create index idx_name on fps( name ); explain select name from fps where name="李武"; [SQL] select name from fps where name="李武"; 影响的数据栏: 0 时间: 0.001ms MYSQL学习(2)下面我们就来看看这个EXPLAIN分析结果的含义. MYSQL学习4.最常用的存储引擎: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 学习PHP需要掌握哪些东西?
- MYSQL教程MySQL实现MYISAM表批量压缩的方法
- Mysql数据库索引设计概要
- Mysql实例MySQL如何清空慢查询文件
- 无法在Windows 10上的MySQL 8.x中设置lower_case_table_nam
- 从INFORMATION_SCHEMA检索的一组表中的MySQL SELECT
- Mysql学习解决 error Nr.1045 卡在Mysql Server Instance C
- mysql – LIMIT结果为n个唯一列值?
- MYSQL数据库集群运维自动化工具ansible使用playbook安装mys
- php – 如何在sql中生成随机字符串到salt passowrd?