广告
返回顶部
首页 > 资讯 > 数据库 >mysql建索引的技巧
  • 872
分享到

mysql建索引的技巧

2024-04-02 19:04:59 872人浏览 独家记忆
摘要

Mysql建索引的技巧?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!1.选择唯一性索引唯一性索引的值是唯一的,可以更快速的

Mysql索引的技巧?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!

1.选择唯一性索引

唯一性索引的值是唯一的,可以更快速的通过该索引来确定某条记录。例如,学生表中学号是具有唯一性的字段。为该字段建立唯一性索引可以很快的确定某个学生的信息。如果使用姓名的话,可能存在同名现象,从而降低查询速度。

2.为经常需要排序、分组和联合操作的字段(列)建立索引

经常需要ORDER BY、GROUP BY、DISTINCT和UNION等操作的字段,排序操作会浪费很多时间。如果为其建立索引,可以有效地避免排序操作。

3.为经常需要做查询条件的字段(列)建立索引

如果某个字段经常用来做查询条件,那么该字段的查询速度会影响整个表的查询速度。因此,为这样的字段建立索引,可以提高整个表的查询速度。

4.限制索引的数目

索引的数目不是越多越好。每个索引都需要占用磁盘空间,索引越多,需要的磁盘空间就越大。修改表时,对索引的重构和更新很麻烦。越多的索引,会使更新表变得很浪费时间。

5.尽量使用数据量少的索引

如果索引的值很长,那么查询的速度会受到影响。例如,对一个CHAR(100)类型的字段进行全文检索需要的时间肯定要比对CHAR(10)类型的字段需要的时间要多。

6.尽量使用前缀来索引

如果索引字段的值很长,最好使用值的前缀来索引。例如,TEXT和BLOG类型的字段,进行全文检索会很浪费时间。如果只检索字段的前面的若干个字符,这样可以提高检索速度。

7. 尽量选择区分度高的列作为索引。

区分度的公式是count(distinct col)/count(*),表示字段不重复的比例,比例越大我们扫描的记录数越少,唯一键的区分度是1,而一些状态、性别字段可能在大数据面前区分度就 是0,那可能有人会问,这个比例有什么经验值吗?使用场景不同,这个值也很难确定,一般需要join的字段我们都要求是0.1以上,即平均1条扫描10条 记录

8 .索引列不能参与计算,保持列“干净”。

比如from_unixtime(create_time) = ’2014-05-29’就不能使用到索引,原因很简单,b+树中存的都是数据表中的字段值,但进行检索时,需要把所有元素都应用函数才能比较,显然成本 太大。所以语句应该写成create_time = unix_timestamp(’2014-05-29’);

9 .尽量的扩展索引,不要新建索引。
比如表中已经有a的索引,现在要加(a,b)的索引,那么只需要修改原来的索引即可

注意:选择索引的最终目的是为了使查询的速度变快。上面给出的原则是最基本的准则,但不能拘泥于上面的准则。读者要在以后的学习和工作中进行不断的实践。根据应用的实际情况进行分析和判断,选择最合适的索引方式。

感谢各位的阅读!看完上述内容,你们对mysql建索引的技巧大概了解了吗?希望文章内容对大家有所帮助。如果想了解更多相关文章内容,欢迎关注编程网数据库频道。

您可能感兴趣的文档:

--结束END--

本文标题: mysql建索引的技巧

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

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • mysql建索引的技巧
    mysql建索引的技巧?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!1.选择唯一性索引唯一性索引的值是唯一的,可以更快速的...
    99+
    2022-10-18
  • mysql 索引技巧
    索引是快速搜索的关键。MySQL索引的建立对于MySQL的高效运行是很重要的。下面介绍几种常见的MySQL索引类型。 在数据库表中,对字段建立索引可以大大提高查询速度。假如我们创建了一个 myta...
    99+
    2022-05-31
    mysql 技巧
  • mysql的索引技巧有哪些
    本篇内容主要讲解“mysql的索引技巧有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mysql的索引技巧有哪些”吧!一、MySQL三层逻辑架构MySQL的...
    99+
    2022-10-19
  • MySQL中的索引优化技巧详解
    MySQL是一个开源的关系型数据库管理系统,被广泛应用于各种网站和应用程序中。索引是MySQL中关键的性能优化手段之一,对于大型数据表来说尤为重要。本文将介绍MySQL中的索引优化技巧,并附加相应的代码示例。一、什么是索引索引是一种特殊的数...
    99+
    2023-10-22
    技巧 优化 索引
  • Mysql索引优化技巧有哪些
    Mysql索引优化的一些技巧包括: 使用合适的数据类型:选择合适的数据类型来存储数据,避免使用过大或者不必要的数据类型,能够减小...
    99+
    2023-10-28
    Mysql
  • win11如何删除和重建索引? Win11删除和重建索引的技巧
    有些使用Win11系统的用户,由于错误操作,造成索引损坏或删除,这篇文章是本站给大家带来的Win11重建搜索和索引方法。 中 1、首先,按键盘上的【 Win + X 】组合键,或右键点击任务栏上的【Windows徽标】,...
    99+
    2023-05-19
    Win11 重建索引
  • LeetCode的索引技巧有哪些?
    LeetCode是一个著名的在线编程平台,它提供了大量的算法和数据结构题目,是程序员们刷题的重要场所。在解题的过程中,LeetCode的索引技巧是非常重要的,它可以帮助我们快速定位题目,提高解题效率。本文将会介绍几种常用的LeetCode索...
    99+
    2023-07-20
    leetcode 索引 大数据
  • Mysql 重建索引
    在MySQL中,可以使用以下两种方法来重建索引: 1、使用ALTER TABLE语句重建索引: ALTER TABLE your_table_name ENGINE=InnoDB; 这将强制MySQL删除并重新构建表和索引。注意,这可能会导...
    99+
    2023-10-08
    mysql 数据库
  • mysql创建索引
    mysql创建索引?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!分为五种索引方式:1.添加PRIMARY KEY(主键索引...
    99+
    2022-10-18
  • 索引构建的秘诀:Go、Django和LeetCode的技巧分享
    在现代软件开发中,数据的高效访问是至关重要的。索引是一种常用的技术,它可以大大提高数据的查询效率。本文将分享一些索引构建的技巧,包括使用Go语言和Django框架创建索引,以及使用LeetCode进行索引相关问题的练习。 一、使用Go语言...
    99+
    2023-06-18
    django leetcode 索引
  • MySql索引和索引创建策略
    目录1、B+树索引1.1、聚集索引/聚簇索引1.2、辅助索引/二级索引1.3、联合索引/复合索引1.3.1、什么是复合索引1.3.2、最左原则1.3.3、联合索引的查询优化2、哈希索引2.1、查看哈希索引的命中率等信息3...
    99+
    2022-08-22
  • PHP中的NumPy索引打包技巧?
    在数据处理和科学计算领域,NumPy是一个非常强大的Python库。它提供了一种高效的多维数组对象,以及一系列用于操作数组的函数。而在PHP中,虽然没有原生的NumPy库,但是我们可以借鉴NumPy的一些技巧,来优化我们的PHP代码。 本...
    99+
    2023-09-04
    打包 numpy 索引
  • mysql数据库中使用索引技巧有哪些
    这篇文章主要介绍了mysql数据库中使用索引技巧有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。花1分钟时间,了解聚集索引,非聚集索引,...
    99+
    2022-10-18
  • MongoDB 索引简单使用技巧
    先在数据库上增加一些数据,输入下面的命令:for(var i=1;i<10;i++) db.customers.insert({name:"jordan"+i,country:"American"})...
    99+
    2022-10-18
  • 索引优化十二--组合索引的优化技巧与总结
    组合索引经要素!      --3.仅等值无范围查询时,组合索引顺序不影响性能(比如where col1=xxx and col2=xxx,无论COL1+C...
    99+
    2022-10-18
  • Mysql 索引(三)—— 不同索引的创建方式(主键索引、普通索引、唯一键索引)
    了解了主键索引的底层原理,主键索引其实就是根据主键字段建立相关的数据结构(B+树),此后在使用主键字段作为条件查询时,会直接根据主键查找B+树的叶子结点。除了主键索引外,普通索引和唯一键索引也是如此,只不过普通索引要稍微绕一点,下面会具体介...
    99+
    2023-09-12
    mysql 数据库 java
  • mysql 创建索引语句
    一、创建索引 PRIMARYKEY(主键索引) mysql > ALTERTABLE`table_name`ADDPRIMARYKEY (`column`) 2.UNIQUE(唯一索引) mysql ...
    99+
    2023-08-31
    mysql 数据库 java 面试 开发语言
  • mysql如何创建索引
    使用CREATE INDEX创建索引语法:CREATE [UNIQUE] INDEX index_name ONtb_name (col_name [(length)] ...
    99+
    2022-10-13
  • MySQL 主键、索引创建
    创建测试表create table t1.t (a int,b varchar(200)); -- 添加主键、索引alter table t1.t add primary key (a);alte...
    99+
    2022-10-18
  • mysql如何建立索引
    小编给大家分享一下mysql如何建立索引,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!mysql索引怎么建立1.添加PRIMAR...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作