返回顶部
首页 > 资讯 > 数据库 >MySql索引使用策略分析
  • 318
分享到

MySql索引使用策略分析

MySQL索引MySQL索引使用策略 2022-05-31 10:05:06 318人浏览 安东尼
摘要

Mysql索引 索引优点 可以通过建立唯一索引或者主键索引,保证数据的唯一性. 2.提高检索的数据性能 3.在表连接的连接条件 可以加速表与表直接的相连  4.建立索引,在查询中使用索引 可以提高性能 索

Mysql索引

索引优点

可以通过建立唯一索引或者主键索引,保证数据的唯一性.
2.提高检索的数据性能
3.在表连接的连接条件 可以加速表与表直接的相连 
4.建立索引,在查询中使用索引 可以提高性能

索引缺点

在创建索引和维护索引 会耗费时间,随着数据量的增加而增加
2.索引文件会占用物理空间,除了数据表需要占用物理空间之外,每一个索引还会占用一定的物理空间
3.当对表的数据进行 INSERT,UPDATE,DELETE 的时候,索引也要动态的维护,这样就会降低数据的维护速度,

(建立索引会占用磁盘空间的索引文件。一般情况这个问题不太严重,但如果你在一个大表上创建了多种组合索引,索引文件的会膨胀很快)。

使用索引需要注意的地方

在经常需要搜索的列上,可以加快索引的速度
2.主键列上可以确保列的唯一性
3.在表与表的而连接条件上加上索引,可以加快连接查询的速度
4.在经常需要排序(order by),分组(group by)和的distinct 列上加索引 可以加快排序查询的时间,  (单独order by 用不了索引,索引考虑加where 或加limit)
5.在一些where 之后的 < <= > >= BETWEEN IN 以及某个情况下的like 建立字段的索引(B-TREE)

like语句的 如果你对nickname字段建立了一个索引.当查询的时候的语句是 nickname lick '%ABC%' 那么这个索引讲不会起到作用.而nickname lick 'ABC%' 那么将可以用到索引

索引不会包含NULL列,如果列中包含NULL值都将不会被包含在索引中,复合索引中如果有一列含有NULL值那么这个组合索引都将失效,一般需要给默认值0或者 ' '字符串

使用短索引,如果你的一个字段是Char(32)或者int(32),在创建索引的时候指定前缀长度 比如前10个字符 (前提是多数值是唯一的..)那么短索引可以提高查询速度,并且可以减少磁盘的空间,也可以减少I/0操作.

不要在列上进行运算,这样会使得mysql索引失效,也会进行全表扫描

选择越小的数据类型越好,因为通常越小的数据类型通常在磁盘,内存,cpu,缓存中 占用的空间很少,处理起来更快

什么情况下不创建索引

查询中很少使用到的列 不应该创建索引,如果建立了索引然而还会降低mysql的性能和增大了空间需求.
2.很少数据的列也不应该建立索引,比如 一个性别字段 0或者1,在查询中,结果集的数据占了表中数据行的比例比较大,mysql需要扫描的行数很多,增加索引,并不能提高效率
3.定义为text和image和bit数据类型的列不应该增加索引,
4.当表的修改(UPDATE,INSERT,DELETE)操作远远大于检索(SELECT)操作时不应该创建索引,这两个操作是互斥的关系

以上就是MySql索引使用策略分析的详细内容,更多关于MySQL 索引的资料请关注自学编程网其它相关文章!

您可能感兴趣的文档:

--结束END--

本文标题: MySql索引使用策略分析

本文链接: https://lsjlt.com/news/9953.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • MySql索引使用策略分析
    MySql索引 索引优点 可以通过建立唯一索引或者主键索引,保证数据的唯一性. 2.提高检索的数据性能 3.在表连接的连接条件 可以加速表与表直接的相连  4.建立索引,在查询中使用索引 可以提高性能 索...
    99+
    2022-05-31
    MySQL 索引 MySQL 索引使用策略
  • Lucene索引删除策略源码分析
    本文小编为大家详细介绍“Lucene索引删除策略源码分析”,内容详细,步骤清晰,细节处理妥当,希望这篇“Lucene索引删除策略源码分析”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。IndexCommitLuce...
    99+
    2023-07-05
  • MySQL高性能索引策略
    前缀索引和索引选择性 有时候需要索引很长的字符,这会让索引变得大且慢。一个策略是前面提到的模拟哈希索引。 通常可以索引开始的部分字符,这样可以大大解约索引空间,提高索引效率。但这样会降低索引的选择性。 索引的选择性:不重复的索引值(也成...
    99+
    2021-10-14
    MySQL高性能索引策略
  • Lucene 索引删除策略源码解析
    目录LuceneIndexCommitIndexDeletionPolicyNoDeletionPolicyKeepOnlyLastCommitDeletionPolicy两个快照相...
    99+
    2023-03-14
    Lucene 索引删除策略 Lucene 索引
  • 深入解析MySQL索引的原理与优化策略
    目录索引的概念索引的原理索引的类型索引的使用索引的使用方式注意事项索引优化技巧索引的概念 mysql索引是一种用于加速数据库查询的数据结构,它类似于书籍的目录,能够快速指导我们找到需要的信息。MySQL索引可以根据一定的...
    99+
    2023-03-31
    解析MySQL索引原理和优化策略 MySQL索引原理 MySQL优化策略
  • mysql之explain使用详解(分析索引)
    explain显示了mysql如何使用索引来处理select语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句。 使用方法,在select语句前加上explain就可以了,如: ex...
    99+
    2024-04-02
  • PHP与MySQL索引的选择与优化策略
    引言:在开发Web应用程序时,PHP与MySQL是两个重要的技术组合。而索引作为MySQL中重要的特性,对于提高数据库的查询性能至关重要。本文将介绍PHP与MySQL中索引的选择和优化策略,并提供一些具体的代码示例。一、索引的基本原理与分类...
    99+
    2023-10-21
    MySQL PHP 索引优化
  • MySQL数据库索引原理及优化策略
    目录1 索引索引概念索引作用索引的使用场景2 索引分类B树索引和B+树索引区别3 索引操作创建主键索引唯一索引的创建普通索引的创建查询索引删除索引索引创建原则1 索引 索引概念 索引是一种特殊的文件,包含着对数据表里所有...
    99+
    2023-04-27
    MySQL数据库索引 MySQL数据库索引操作
  • Mysql优化策略的示例分析
    这篇文章主要介绍Mysql优化策略的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!总的来说:1、数据库设计和表创建时就要考虑性能2、sql的编写需要注意优化3、分区、分表、分...
    99+
    2024-04-02
  • MySQL索引的原理与优化策略是什么
    这篇文章主要介绍了MySQL索引的原理与优化策略是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇MySQL索引的原理与优化策略是什么文章都会有所收获,下面我们一起来看看吧。索引的概念MySQL索引是一种用于...
    99+
    2023-07-05
  • mysql之explain详解(分析索引最佳使用)
    用法 explain的用法相当简洁,直接在sql语句前加上EXPLAIN 即可 -- 实际SQL,查找租户为测试的用户,并排序 select * from uw_tenant where tenant_name ...
    99+
    2021-08-05
    mysql之explain详解(分析索引最佳使用)
  • MySQL高性能索引策略和查询性能优化
    前缀索引和索引选择性 有时候需要索引很长的字符,这会让索引变得大且慢。一个策略是模拟哈希索引。 通常可以索引开始的部分字符,这样可以大大解约索引空间,提高索引效率。但这样会降低索引的选择性。 索引的选择性:不重复的索引值(也成为基数)和...
    99+
    2017-05-17
    MySQL高性能索引策略和查询性能优化
  • MySQL InnoDB存储引擎更新Cardinality统计信息的策略分析
    这篇文章主要讲解了“MySQL InnoDB存储引擎更新Cardinality统计信息的策略分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL I...
    99+
    2024-04-02
  • MySQL 索引分类中单列索引的示例分析
    本篇文章为大家展示了MySQL 索引分类中单列索引的示例分析,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。 一个已分区的表不支持全文本...
    99+
    2024-04-02
  • MySQL索引的示例分析
    这篇文章给大家分享的是有关MySQL索引的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。前言我们知道,索引的选择是优化器阶段的工作,但是优化器并不是万能的,它有可能选错所...
    99+
    2024-04-02
  • MySQL索引知识点分析
    这篇文章主要介绍“MySQL索引知识点分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“MySQL索引知识点分析”文章能帮助大家解决问题。1索引的概念1.1定义索引在关系型数据库中,是一种单独的、物...
    99+
    2023-07-02
  • MySQL数据库索引原理及优化策略是什么
    这篇文章主要介绍“MySQL数据库索引原理及优化策略是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“MySQL数据库索引原理及优化策略是什么”文章能帮助大家解决...
    99+
    2023-05-12
    mysql
  • MySQL数据表分区策略及优缺点分析
    目录为什么需要分区?分区的策略分区隐患为什么需要分区? 当面对巨大的数据表的时候,至少有一件事情是确定的,表太大了以至于每次查询的时候我们没法做全表扫描。而这个时候也没法使用索引,或者说索引意义不大,更不用说索引的...
    99+
    2022-05-29
    MySQL 数据表分区 MySQL 数据表分区优缺点 MySQL 数据表分区策略
  • MySQL存储引擎中的索引分析
    本篇内容主要讲解“MySQL存储引擎中的索引分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL存储引擎中的索引分析”吧!我们知道不同的存储引擎文件是不...
    99+
    2024-04-02
  • 使用PyTorch实现随机搜索策略
    目录1. 随机搜索策略2. 使用 PyTorch 实现随机搜索算法1. 随机搜索策略 在本节中,我们将学习一种比随机选择动作更复杂的策略来解决 CartPole ...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作