mysql数据库索引的一些优化建议

1、独立的索引列。索引不能是表达式的一部分,也就是说索引列不能参与任何计算和函数方法(冲当参数)等。

2、不要肆意使用索引。并不是说为where条件之后的所有查询列都加上索引就一定会提升查询性能。

3、当where后面出现两个以上索引列时,应该考虑使用多列索引。

4、注意索引列的顺序(针对多列索引)。将选择性最高的放在前面,比如有两个索引,一个是专业一个班级,那显然筛选专业比筛选班级更快,因为专业数据比班级要少很多。

未完待续……

时间: 2024-11-06 09:54:59

mysql数据库索引的一些优化建议的相关文章

mysql数据库索引查询一个优化大数据量的实例的分享

我们要访问的表是一个非常大的表,四千万条记录,id是主键,program_id上建了索引.执行一条SQL:select * from program_access_log where program_id between 1 and 4000 这条SQL非常慢.我们原以为处理记录太多的原因,所以加了id限制,一次只读五十万条记录select * from program_access_log where id between 1 and 500000 and program_id between

Mysql数据库索引

索引(Index)是帮助mysql高效获取数据的数据结构.对于高性能非常关键. 索引的重要性主要体现在数据量非常大的时候.规模小,负载轻的数据库即使没有索引也可以获到好的查询效果 例如: 1 mysql>select first_name from actor where actor_id=5; 改索引列位于actor_id列,因此mysql会使用索引找到actor_id为5的行. 索引有很多种类型,各自有各自的特点.索引实在存储引擎层实现的,而不是服务器层. (1).B-Tree索引 谈论引擎

如何正确合理的建立MYSQL数据库索引

如何正确合理的建立MYSQL数据库索引 索引是快速搜索的关键.MySQL索引的建立对于MySQL的高效运行是很重要的.下面介绍几种常见的MySQL索引类型. 在数据库表中,对字段建立索引可以大大提高查询速度.假如我们创建了一个 mytable表: CREATE TABLE mytable( IDINTNOT NULL, username VARCHAR(16) NOT NULL ); 我们随机向里面插入了10000条记录,其中有一条:5555, admin. 在查找username="admin

数据库索引设计与优化

这篇是计算机中数据库设计类的优质预售推荐<数据库索引设计与优化>. 盖国强.姜承尧.金官丁.叶金荣.童家旺一众国内数据库界巨腕争相作序|支付宝.网易.云和恩墨联DB掌门连袂推荐的造是什么书吗? 编辑推荐 中国数据库界几大势力云集于这本旷世奇作,没读过咋好意思和DBA同行打招呼 蚂蚁(原支付宝)数据库团队资深专家携成长回忆与技术历程倾情献上最优质翻译 本书旨在--通过设计适用于现代硬件的索引,来提升关系型数据库的性能 软硬件发展让数据库性能被忽视,但数据处理量增长更快,全新索引优化设计才能根治随

MySQL数据库------索引

MySQL数据库------索引 一.索引的介绍 数据库中专门用于帮助用户快速查找数据的一种数据结构.类似于字典中的目录,查找字典内容时可以根据目录查找到数据的存放位置吗,然后直接获取. 二 .索引的作用 约束和加速查找 三.常见的几种索引: 普通索引,唯一索引,主键索引(这几个都是单列) 联合索引(多列),比如:联合主键索引.联合唯一索引.联合普通索引 无索引和有索引的区别以及建立索引的目的 无索引: 从前往后一条一条查询有索引:创建索引的本质,就是创建额外的文件(某种格式存储,查询的时候,先

MySQL数据库索引常见问题

笔者看过很多数据库相关方面的面试题,但大多数答案都不太准确,因此决定在自己blog进行一个总结. Q1:数据库有哪些索引?优缺点是什么? 1.B树索引:大多数数据库采用的索引(innoDB采用的是b+树).能够加快访问数据的速度,尤其是范围数据的查找非常快.缺点是只能从索引的最左列开始查找,也不能跳过索引中的列,如果查询中有某个列用到了范围查询,则右边所有列都无法使用索引优化查找. 2.哈希索引:基于哈希表实现.在MySQL中,只有Memory引擎显式的支持哈希搜索.哈希查找的速度非常快,但哈希

mysql数据库-索引-长期维护

###############    索引介绍    ############## """ 1. 索引介绍 需求: 一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,在生产环境中,我们遇到最多的, 也是最容易出问题的,还是一些复杂的查询操作,因此对查询语句的优化显然是重中之重. 说起加速查询,就不得不提到索引了. 索引: 简单的说,相当于图书的目录,可以帮助用户快速的找到需要的内容. 在MySQL中也叫做“键”,是存储引擎用于快速找到记录的

第二百八十八节,MySQL数据库-索引

MySQL数据库-索引 索引,是数据库中专门用于帮助用户快速查询数据的一种数据结构.类似于字典中的目录,查找字典内容时可以根据目录查找到数据的存放位置,然后直接获取即可. 如果没有创建索引查找数据时,是全表扫描的,也就是向查字典一样没有目录,靠一页一页的翻到目标数据位置,这样如果数据量大会相当耗时, 索引就是快速帮助用户找到目标数据,节省时间 索引简介 索引是以B+tree方式的树形结构存放数据的 详情,可以网上搜索一下B+tree MySQL中常见索引有: 普通索引 唯一索引 主键索引 组合索

php教程:MySql数据库索引原理

PHP教程有好几天都没有给大家带来关于PHP方面的知识啦,今天补上啊!本文这要讲述的是:MySql数据库索引原理,希望能对大家带来帮助! 第一部分主要从数据结构及算法理论层面讨论MySQL数据库索引的数理基础. 第二部分结合MySQL数据库中InnoDB数据存储引擎中索引的架构实现讨论聚集索引.非聚集索引及覆盖索引等话题. 第三部分讨论MySQL中高性能使用索引的策略. 一.数据结构及算法理论 Innodb存储引擎实现索引的数据结构是B+树,下面介绍几种数据结构,一步步阐述为什么要使用B+树 1