0%

索引优化

文章字数:543,阅读全文大约需要2分钟

尽量全值匹配

  • 如果使用了符合索引,查询的列是索引列,不要使用select * 使用索引列。
  • 不要使用select *,避免查询不需要的列,避免表结构增加列对于查询的影响,同时有助于引擎的索引优化。

最佳左前缀法则

  • 创建了一个复合索引key(a, b, c)时,查询的where语句一定要出现a, 且只有a, b, c同时出现在where的条件中时,这个索引才是最高效的。

索引不要有任何操作

  • 各种函数之类的,不要在索引列上使用

范围条件放最后

  • 创建联合索引时,between < =等访问查询,如果范围查询的列是a则创建的索引中a应该是最后一个如key(b, c, a)而不是key(a, b, c)

like查询

  • 尽量使用关键字%而不是使用%关键字,后者会导致索引失效

搜索字符类型

  • 字符类型需要加引号,否则会使索引失效。使用where a='1'而不是where a=1