`

mysql索引之前缀索引和索引选择性

阅读更多

有时需要索引很长的字符列,它会使索引变大而且变慢。一个策略就是模拟哈希索引。但是有时这也不够好,那?


通常可以索引开始的几个字符,而不是全部值,以节约空间并得到好的性能。这使索引需要的空间变小,但是也会降低选择性。索引选择性是不重复的索引值和表中所有行的比值。高选择性的索引有好处,因为它使mysql在查找匹配的时候可以过波掉更多的行。唯一索引的选择率为1,为最佳值。


如果索引BLOG和TEXT列,或者很长的varchar列,就必须定义前缀索引,因为mysql不允许索引它们的全文化。


可以在同一个查询中针对许多不同的前缀长度进行计算,选择选择性好的。

(用LEFT函数,left(city,4))

添加前缀索引

mysql>alter table test.test add key (city(7));


前缀索引能很好地减少索引的大小及提高速度,但是mysql不能在order by 和group by查询中使用前缀索引,也不能把它们用伯覆盖索引。


有时后缀索引也挺有用,例如查找某个域名的所有电子邮件地址。mysql不支持反向索引,但是可以把反向字符串保存起来,并且索引它的前缀。可以用触发器维护这种索引。

分享到:
评论

相关推荐

    mysql存储与索引技术

    MySQL 数据库是一个广泛使用的开源关系型数据库管理系统,其性能很大程度上取决于存储引擎和索引的选取与使用。本文将深入探讨 MySQL 中的存储引擎和索引技术,帮助优化数据库性能。 首先,MySQL 提供了多种存储...

    MySQL 索引最佳实践

    索引选择不当可能会导致生产环境中的诸多问题。尽管索引本身并不复杂,但是合理地设计和使用索引却是提升数据库性能的关键。 #### MySQL索引议程概览 - **理解索引**:了解索引的基本概念、作用以及不同类型的索引...

    MySQL索引最佳实践

    ### MySQL索引最佳实践 ...通过以上内容的学习,我们可以了解到MySQL索引的重要性和不同类型的索引在实际应用中的优势与局限性。正确地理解和运用这些知识可以帮助我们更高效地管理和优化数据库性能。

    MySQL索引优化课件

    总之,MySQL索引优化是一项涉及广泛的知识,包括但不限于索引类型选择、索引维护、存储过程和触发器的合理运用。通过深入学习和实践,我们可以有效地提升数据库的运行效率,确保系统的稳定和快速响应。这个课件...

    MySQL索引分析和优化.pdf

    ### MySQL索引分析和优化 #### 一、索引的重要性及原理 索引在数据库管理中扮演着极其重要的角色,特别是在提高数据检索速度方面。**MySQL索引**本质上是用来加快数据检索过程的一种数据结构,类似于书籍中的目录...

    MySQL索引 使用笔记

    【MySQL索引 使用笔记】 ...以上是对MySQL索引使用的基本概念和实践要点的介绍,实际应用中还需要结合具体业务场景和数据特点进行调整和优化。学习并掌握索引的正确使用,对于提升数据库性能至关重要。

    04-VIP-Mysql索引优化实战一.pdf

    总之,MySQL索引优化涉及到对查询语句的理解、索引设计的合理性以及根据数据量和查询模式选择合适的索引使用策略。在实际应用中,应结合`EXPLAIN`分析、性能测试和业务需求来调整索引和查询方式,以达到最佳的数据库...

    mysql索引和锁机制ppt介绍

    ### MySQL索引和锁机制详解 #### 一、索引基础 **索引定义:** 索引是MySQL中用于提高查询效率的一种数据结构。通过索引可以在数据表中快速定位到所需的数据行,大大减少不必要的全表扫描。 **索引的重要性:** 1....

    mysql的索引优化

    ### MySQL的索引优化 ...通过上述内容可以看出,合理使用和优化MySQL索引对于提升数据库性能至关重要。开发者应该根据具体的应用场景来选择合适的索引策略,并定期评估和调整索引设置,以确保系统的高效运行。

    MySQL索引背后的数据结构及算法原理

    - **索引选择性**:选择性高的索引可以更快地过滤出结果集,因此在创建索引时应优先考虑选择性较高的字段。 - **前缀索引**:对于较长的字符串字段,创建前缀索引可以减少索引大小,但需要注意前缀长度的选择。 - **...

    MySQL索引分析和优化[定义].pdf

    MySQL索引是数据库管理系统中用于加速数据检索的关键组件。...综上所述,理解MySQL索引的工作原理和类型是优化数据库性能的关键。正确使用和维护索引可以显著提高查询速度,减少资源消耗,从而提升整个应用的响应时间。

    MySQL索引分析及优化.pdf

    "MySQL索引分析及优化" 索引是数据库中提高速度的一个关键因素。如果作为搜索条件的列上已经创建了索引,MySQL无需扫描任何记录即可迅速得到目标记录所在的位置。索引的使用可以大幅度地提高查询速度,减少数据库的...

    mysql索引与视图的实例附答案宣贯.pdf

    mysql索引与视图实例附答案宣贯 在本篇文章中,我们将探讨 MySQL 中的索引和视图这两个重要概念,并通过实例和答案来宣贯相关知识点。 索引概念: 索引是一种数据结构,它可以提高查询的速度。索引可以创建在表上...

    Mysql索引数据结构.pptx

    在实际应用中,选择合适的索引类型(如主键索引、唯一索引、普通索引、全文索引等)、索引字段(选择区分度高的字段)、以及索引策略(如复合索引、覆盖索引等)都是优化查询性能的重要手段。同时,过度使用索引也...

    尚硅谷mysql高级:索引、优化

    5. 复合索引:当需要基于多列进行排序或过滤时,可以创建复合索引,索引顺序很重要,应根据查询条件的频率和选择性进行调整。 6. 空间索引:用于地理空间数据,如坐标位置。 二、MySQL优化 1. 查询优化:通过编写...

Global site tag (gtag.js) - Google Analytics