mysql 语句的索引和优化】的更多相关文章

一.基本语句优化 1.尽量避免在列上进行运算,这样会导致索引失败.例如: select * from table where DATE_FORMAT(`customer_regtime`,'%Y')>='2010' 优化为 select * from table where customer_regtime>='2010-01-01' 2.在使用join时,应该根据功能的需要尽量使用小结果集驱动大结果集.同时把复杂的join查询拆分成多个query.因为join多表时,可能导致更多的锁定和堵塞…
一.存储引擎 存储引擎,MySQL中的数据用各种不同的技术存储在文件(或者内存)中.这些技术中的每一种技术都使用不同的存储机制.索引技巧.锁定水平并且最终提供广泛的不同的功能和能力.通过选择不同的技术,你能够获得额外的速度或者功能,从而改善你的应用的整体功能.InnoDB存储引擎是5.5版本后Mysql的默认数据库,事务型数据库的首选引擎,支持ACID事务,支持行级锁定.另外还有常见的MyISAM存储引擎,它拥有较高的插入,查询速度,但不支持事务.所以,很明显:插入不频繁,查询非常频繁,没有事务…
1.PRIMARY  KEY(主键索引)        mysql>ALTER  TABLE  `table_name`  ADD  PRIMARY  KEY (  `column`  ) 2.UNIQUE(唯一索引)        mysql>ALTER  TABLE  `table_name`  ADD  UNIQUE (`column` ) 3.INDEX(普通索引)        mysql>ALTER  TABLE  `table_name`  ADD  INDEX index…
昨天我写了有关MySQL的loose index scan的相关博文(http://www.cnblogs.com/wingsless/p/5037625.html),后来我发现上次提到的那个优化方法中主要的目的就是实现loose index scan,而在执行计划的层面上看,Extra信息中应该是“Using index for group-by”.这样看来,可能MySQL在处理distinct时和group by用了同样的优化手段,即走索引,进行loose index scan.那么今天我研…
实践中如何优化MySQL 实践中,MySQL的优化主要涉及SQL语句及索引的优化.数据表结构的优化.系统配置的优化和硬件的优化四个方面,如下图所示: SQL语句及索引的优化 SQL语句的优化 SQL语句的优化主要包括三个问题,即如何发现有问题的SQL.如何分析SQL的执行计划以及如何优化SQL,下面将逐一解释. 怎么发现有问题的SQL?(通过MySQL慢查询日志对有效率问题的SQL进行监控) MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具…
MySQL索引通常是被用于提高WHERE条件的数据行匹配或者执行联结操作时匹配其它表的数据行的搜索速度. MySQL也能利用索引来快速地执行ORDER BY和GROUP BY语句的排序和分组操作. 通过索引优化来实现MySQL的ORDER BY语句优化: 1.ORDER BY的索引优化.如果一个SQL语句形如: SELECT [column1],[column2],…. FROM [TABLE] ORDER BY [sort]; 在[sort]这个栏位上建立索引就可以实现利用索引进行order…
本文转载自:http://blog.csdn.net/ryb7899/article/details/5580624  .感谢相关作者. MySQL索引通常是被用于提高WHERE条件的数据行匹配或者执行联结操作时匹配其它表的数据行的搜索速度. MySQL也能利用索引来快速地执行ORDER BY和GROUP BY语句的排序和分组操作. 通过索引优化来实现MySQL的ORDER BY语句优化: 1.ORDER BY的索引优化.如果一个SQL语句形如: SELECT [column1],[column…
Mysql语句优化--索引 一.开始优化前的准备 一)explain语句 当MySql要执行一个查询语句的时候,它首先会对语句进行语法检查,然后生成一个QEP(Query Execution Plan) QEP决定了MySql从底层存储引擎获取信息的方式. 语法:explain [extended | partitions] select ...... 或者:explain tableName (此时相当与desc语句) explain select * from artist where na…
1.慢查询优化方式 服务器硬件升级优化 Mysql服务器软件优化 数据库表结构优化 SQL语句及索引优化 本文重点关注于SQL语句及索引优化,关于其他优化方式以及索引原理等,请关注本人<MySQL慢查询优化>系列博文.优化我个人遵循的原则:积小胜为大胜,以空间换时间.-<论持久战> 2.数据源 工欲善其事必先利其器,为了测试与验证的方便,数据库可以直接采用MySQL官方提供的测试数据库employees,该数据库关系复杂度适中以及数据量较大,适合做SQL语句及索引优化分析,引用官方…
参考资料:http://www.cnblogs.com/hustcat/archive/2009/10/28/1591648.html ———————————— 全文: 写在前面:索引对查询的速度有着至关重要的影响,理解索引也是进行数据库性能调优的起点.考虑如下情况,假设数据库中一个表有10^6条记录,DBMS的页面大小为4K,并存储100条记录.如果没有索引,查询将对整个表进行扫描,最坏的情况下,如果所有数据页都不在内存,需要读取10^4个页面,如果这10^4个页面在磁盘上随机分布,需要进行1…