1、尽量为用来搜索、分类或分组的数据列编制索引,不要为作为输出显示的数据列编制索引。

最适合有索引的数据列是那些在where子句中数据列,在联结子句中出现的数据列,或者是在Group by 、Order by子句中出现的数据列。select 后的数据列最好不要用索引。

2、综合考虑各数据列的维度。

数据列的维度等于它所容纳的非重复值的个数。比如说,如果某个数据列的值是1,2,3,3,4。那么它的维度就是3.维度越高,越适合做索引。原因不言而喻。

3、对短小的值进行索引。

4、为字符串的前缀编索引。

5、充分利用最左边的前缀。

当你创建了一个n个数据列的符合索引时,因为索引中最左边的数据列集合能够使用的n个索引。一个复合索引在工作时就相当于n个索引,因为索引最左边的数据列集合能够用于匹配数据行。这样的一个集合就相当于“最左边前缀”。MYSQL不能使用没有包含最左边前缀的搜索的索引。

6、适可而止,不要建立过多的索引。

索引会占用额外的磁盘空间,会影响写的性能。当你索引过多时,mysql甚至无法选择最好的索引来使用。

7、让索引的类型与你打算进行的比较操作的类型保持匹配。(使用B树索引的关键字:USING BTREE).

8、利用慢查询日志找出性能低劣的查询。(慢查询日志文件是一个文本文件。)

作者:howlaa 发表于2013-11-1 10:36:24 原文链接

阅读:63 评论:0 查看评论

mysql 选择索引_mysql选择索引相关推荐

  1. mysql 创建唯一索引_Mysql普通索引和唯一索引的选择分析

    假设一个用户管理系统,每个人注册都有一个唯一的手机号,而且业务代码已经保证了不会写入两个重复的手机号.如果用户管理系统需要按照手机号查姓名,就会执行类似这样的 SQL 语句: select name ...

  2. mysql 普通索引和唯一索引_MySQL 普通索引和唯一索引的区别

    该文为< MySQL 实战 45 讲>的学习笔记,感谢查看,如有错误,欢迎指正 一.查询和更新上的区别 这两类索引在查询能力上是没差别的,主要考虑的是对更新性能的影响.建议尽量选择普通索引 ...

  3. mysql innerdb 索引_mysql innodb索引原理

    聚集索引(clustered index) innodb存储引擎表是索引组织表,表中数据按照主键顺序存放.其聚集索引就是按照每张表的主键顺序构造一颗B+树,其叶子结点中存放的就是整张表的行记录数据,这 ...

  4. mysql最常用的索引_mysql常用索引

    1.索引 在关系数据库中,索引是一种单独的.物理的对数据库表中一列或多列的值进行排序的一种存储结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单.索引的作用相当 ...

  5. mysql联合索引和单索引_mysql联合索引跟单列索引的区别

    为了提高数据库效率,建索引是家常便饭:那么当查询条件为2个及以上时,我们是创建多个单列索引还是创建一个联合索引好呢?他们之间的区别是什么?哪个效率高呢?我在这里详细测试分析下. 一.联合索引测试 注: ...

  6. mysql 索引_MySQL之索引

    索引查找算法BTREE BTREE查找算法演变B-TREE :普通 BTREE,平衡多路查找树(B-Tree)B+TREE :叶子节点双向指针B++TREE(B*TREE):枝节点的双向指针 普通B- ...

  7. mysql 建立索引_mysql建立索引的原则

    1.选择唯一性索引 唯一性索引的值是唯一的,可以更快速的通过该索引来确定某条记录.例如,学生表中学号是具有唯一性的字段.为该字段建立唯一性索引可以很快的确定某个学生的信息.如果使用姓名的话,可能存在同 ...

  8. mysql高效索引覆盖索引_MySQL高效索引:覆盖索引

    原标题:MySQL高效索引:覆盖索引 作者:踏雪无痕 cnblogs.com/chenpingzhao/p/4776981.html 概念 如果索引包含所有满足查询需要的数据,则该索引称为覆盖索引(C ...

  9. mysql 堆表_Mysql聚集索引和非聚集索引(堆组织表和索引组织表)

    Mysql聚集索引和非聚集索引(堆组织表和索引组织表) 1.堆组织表(HOT)和索引组织表(IOT)有什么区别? myisam使用的堆组织表(Heap Organize Table, HOT),没有聚 ...

最新文章

  1. java 多级级联菜单回显_详解element-ui级联菜单(城市三级联动菜单)和回显问题...
  2. 机器学习-梯度下降算法原理及公式推导
  3. BZOJ.5068.友好的生物(思路)
  4. LightOJ - 1237 Cyber Cafe(费用流)
  5. 编译我的第一个c语言,linux菜鸟学习写第一个C语言代码--“hello Linux!”
  6. mybatisplus执行sql语句_一条更新的SQL语句是如何执行的?
  7. 010-python基础-数据类型-字符串操作
  8. 早晨爬山,三餐自备——程序员也可以这样生活、工作
  9. ios 隔空投安装ipa_iOS 安装自己服务器上的IPA包
  10. Python循环完成剪刀石头布游戏
  11. 如何运用Python建立你的第一个Slack聊天机器人?
  12. halcon中的深度学习
  13. Java移位运算符原来这么简单
  14. 转:使用java生成数字验证码
  15. 网易云课堂资源合集百度云分享 下载
  16. 巴塞尔协议中的计算公式_巴塞尔协议演变及计算方法简单解析
  17. 在imitate中遇到的问题
  18. Greenplum 优化 - 分布式键,重建索引,序列
  19. 计算机临床医学自动化哪个好,这五个专业待遇高,就业好,但是很难学,挂科风险大,选择要慎重...
  20. android studio单选按钮,在Android Studio中设置默认单选按钮

热门文章

  1. ListView setOnItemClickListener无法响应点击事件解决
  2. 跳过17:30,跳过瑞星定时扫描
  3. 如何学机器计算机,学习编程的你要了解程序是如何被计算机所执行的?
  4. python复利计算函数_PyThon编程入门:了解python format格式化函数的使用
  5. python idls_Python argparse模块实现模拟 linux 的ls命令
  6. 设计灵感|如何在海报设计中正确使用双色调风格?
  7. 人间妄想男神 | 王一博系列爱豆明星壁纸
  8. PNG免扣艺术字体素材|为年货季准备好了么?
  9. 年底设计师少不了礼品VIP活动设计,高端轻奢感尽显品味
  10. 双十一要来了,设计没思路看看案例