mysql 高性能索引策略
来源:互联网 发布:node.js哪些教程好 编辑:程序博客网 时间:2024/05/17 06:48
在mysql数据库中,正确的创建索引并且恰当的使用索引,是提高性能的很重要的方面,下面介绍一下如何有效并且高效的使用索引
1.隔离的使用列
在mysql中如果没有隔离创建的索引的列,则建立的所以不会起作用。“隔离”的含义是:他不是表达式的一部分,也没有位于函数中,例如下面的索引就不会起作用
select * from people where id + 1 = 3;这种情况下id是索引咧也不会起到索引的作用,放在表达式中也是一样。
2.前缀索引和索引选择性
有的时候如果需要索引很长的字符咧,就会使得索引变大并且变慢,因此如果索引BLOB和TEXT列,或者非常长的VACHAR列,就必须定义索引前缀,因为mysql不会允许索引他们的全文,但是如何选择合适的前缀的长度呢?计算选择率,一般的前缀的选择率能接近0.31,基本上就可以了:
select count(distinct left(city,7))/count(*) as sel from city_demo;(其中的city为索引列)
找到了合适的前缀长度之后,如何创建前缀索引呢?alter table city_demo add KEY(city(7))
注意:mysql不能在ORDER BY或者GROUP BY查询中使用前缀索引
3.聚集索引
一般只有solidDB和InnoDB支持聚集索引
4.避免多余索引和重复索引
一般的mysql会给主键或者UNIQUE约束默认加上索引,不需要再创建索引了。
重复索引则是,如果创建了(A,B)的索引,则再不需要创建的A的索引了,mysql支持最左前缀索引
向有更多索引的表中插入新行会慢的多。这通常是正确的:添加新索引可能会对INSERT,UPDATE,DELETE有较大的性能影响,尤其是新索引遇到内存限制的时候
5.在任何可能的地方,都要试着扩展索引,而不是新增索引。通常维护一个多列索引比维护多个单列索引容易的多。
- mysql 高性能索引策略
- MySQL——高性能索引策略
- Mysql高性能索引的策略
- Mysql之高性能的索引策略
- MySQL 基础与高性能索引策略
- 高性能索引策略
- 高性能的MySQL(5)索引策略一聚簇索引
- 高性能的MySQL(5)索引策略一聚簇索引
- 高性能的MySQL(5)索引策略
- 高性能索引策略二
- Mysql 高性能索引
- 高性能的MySQL(5)索引策略-覆盖索引与索引排序
- 高性能mysql笔记(七)高性能的索引策略
- 高性能mysql(二) 高性能索引
- 高性能的索引策略(一)
- mysql 高性能的索引
- 高性能的MySQL索引
- mysql 创建高性能索引
- ORACLE性能技巧测试:NVL与DECODE
- 系统吞吐量、TPS(QPS)、用户并发量、性能测试概念和公式
- Bitmap too large to be uploaded into a texture (1080x4467, max=4096x4096)
- 计算python执行时间
- 例题1.10 正整数序列 UVa11384
- mysql 高性能索引策略
- 南邮NOJ卡片游戏
- hive列转行 (collect_set())
- BCB 使RichEdit自适应高度
- 史玉柱:我是怎么做游戏策划的
- PCH文件操作
- mongo c driver 在linux下编译使用
- 静态代理
- Java串口编程:串口数据的发送与监听读取