命名规则:表名_字段名
1、需要加索引的字段,要在where条件中
2、数据量少的字段不需要加索引
3、如果where条件中是OR关系,加索引不起作用
4、符合最左原则
https://segmentfault.com/q/1010000003984016/a-1020000003984281
联合索引又叫复合索引。对于复合索引:Mysql从左到右的使用索引中的字段,一个查询可以只使用索引中的一部份,但只能是最左侧部分。例如索引是key index (a,b,c). 可以支持a | a,b| a,b,c 3种组合进行查找,但不支持 b,c进行查找 .当最左侧字段是常量引用时,索引就十分有效。
两个或更多个列上的索引被称作复合索引。
利用索引中的附加列,您可以缩小搜索的范围,但使用一个具有两列的索引 不同于使用两个单独的索引。复合索引的结构与电话簿类似,人名由姓和名构成,电话簿首先按姓氏对进行排序,然后按名字对有相同姓氏的人进行排序。如果您知 道姓,电话簿将非常有用;如果您知道姓和名,电话簿则更为有用,但如果您只知道名不姓,电话簿将没有用处。
所以说创建复合索引时,应该仔细考虑列的顺序。对索引中的所有列执行搜索或仅对前几列执行搜索时,复合索引非常有用;仅对后面的任意列执行搜索时,复合索引则没有用处。
http://blog.csdn.net/lmh12506/article/details/8879916
当一个表有多条索引可走时, Mysql 根据查询语句的成本来选择走哪条索引, 联合索引的话, 它往往计算的是第一个字段(最左边那个), 这样往往会走错索引. 如:
索引Index_1(Create_Time, Category_ID), Index_2(Category_ID)
如果每天的数据都特别多, 而且有很多category, 但具体每个category的记录不会很多.
当查询SQL条件为select …where create_time ….and category_id=..时, 很可能不走索引Index_1, 而走索引Index_2, 导致查询比较慢.
解决办法是将索引字段的顺序调换一下.
相关推荐
联合索引查询原理: 联合索引是由多个字段组成的索引结构,它的数据页内部按照联合索引的字段顺序进行排序。以本案例中的学生信息表为例,表中包含学生班级、学生姓名、科目名称和成绩分数四个字段,查询频率较高的...
内容概要:本文详细解释了 MySQL 中联合索引的概念,包括联合索引的定义、索引构建原理、最左匹配原则,以及使用联合索引的实际案例。同时介绍了在创建与删除联合索引方面的具体操作步骤和技术细节,探讨了何时使用...
MySQL联合索引是一种优化查询性能的机制,它允许在多个列上创建单个索引,以便在查询中同时使用这些列时能更快地找到数据。本示例将深入讲解联合索引的概念,并通过实例来展示如何在MySQL中创建和使用联合索引。 ...
在数据库管理领域,联合索引(Composite Index)和全值匹配规则是两个非常重要的概念,它们对于优化查询性能起着至关重要的作用。本教程将通过详细的步骤和图表,帮助你深入理解这两个概念。 首先,我们来探讨联合...
MySQL的联合索引是一种优化查询性能的有效手段,它遵循“最左匹配原则”。这个原则指出,当创建一个包含多个列的联合索引时(例如,KEY test_col1_col2_col3 ON test(col1, col2, col3)),MySQL会在查询时从索引的...
"基于多层信息联合索引的数据处理方法"是一种高效的技术,旨在提升电信设备处理海量数据的能力。该方法的核心在于利用多层信息联合索引,以实现快速、精准的数据检索和分析。 首先,我们需要理解什么是索引。在...
MySQL联合索引,也称为复合索引,是数据库优化中的一种关键策略,它允许数据库系统在多个列上创建单一的索引,以提高查询性能。理解联合索引的工作原理和如何有效利用它对于提升数据库查询效率至关重要。 联合索引...
本文将深入探讨全文索引、联合索引、LIKE查询以及JSON查询这四种不同方法在实际应用中的速度比较,并通过实例进行详细解析。 首先,全文索引(Full-text Index)是MySQL提供的一种特殊类型的索引,专门用于提高全文...
为了优化数据库性能和保证数据完整性,我们可以为模型的字段设置联合约束和联合索引。本文将详细讲解如何在Django Model中实现这两个功能。 1. **联合约束(Unique Together)** 联合约束用于确保特定字段的组合在...
本文主要探讨了联合索引和Where子句优化对于提升数据库运行效率的影响。 首先,联合索引是一种在多个列上创建的索引,目的是为了加速对多列查询的响应。在案例中,由于数据库记录数达到近8W,涉及排序的查询变得...
MySQL InnoDB 联合索引是数据库性能优化的关键元素,尤其在处理复杂查询时。本文将通过一个具体的案例深入解析如何正确使用InnoDB联合索引来提升查询效率。 案例描述了一个业务查询,目的是获取最新审核的5条在线...
通过联合索引优化MYSQL慢查询 一、慢SQL分析 慢SQL如下 SELECT SUM(t.amount) as amount FROM (SELECT game_id,room_id,is_robot,amount,record_time FROM t_statements_logs WHERE game_id = 30 AND is_robot = 0 ...
索引设计是数据库性能调优的关键因素,正确地选择单索引和联合索引对于提高查询速度和减少I/O操作至关重要。本篇文章将深入探讨索引合并问题,以及在多条件查询时如何选择合适的索引策略。 首先,我们来看一下问题...
联合索引:索引列有多个字段,使用时需要满足最左前缀原则 普通索引 这是最基本的索引,它没有任何限制。它有以下几种创建方式: 1.创建索引 代码如下: CREATE INDEX indexName ON mytable(username(length)); ...
联合索引又叫复合索引。对于复合索引:Mysql从左到右的使用索引中的字段,一个查询可以只使用索引中的一部份,但只能是最左侧部分。例如索引是key index (a,b,c). 可以支持a | a,b| a,b,c 3种组合进行查找,但不支持 ...