![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mysql性能优化学习笔记
iteye_9147
这个作者很懒,什么都没留下…
展开
-
MySQL之SQL优化(一)
1. 创建索引,myslq支持重复索引,但是多余的索引会带来性能开销;a) 利用索引可以减少查询读取的行数b) 提高表连接操作的性能c) 如果where子句中条件以通配符开头,则mysql不使用索引d) mysql不支持基于索引的函数e) 创建索引非常耗时,同时会阻塞其他操作,所以尽量将创建多个索引的语句合并到同一条alter语句中f) 多列索引最左边的列可以被...原创 2015-01-23 13:48:29 · 77 阅读 · 0 评论 -
MySQL之SQL优化(二)
创建更好的索引1.覆盖索引,当QEP在Extra列中显示Using index时,不意味访问底层数据库时使用了索引,他代表只有这个索引才是足查询要求的。这种索引可以为大型查询或者频繁执行的查询带来显著的性能提升,称为覆盖索引,故名思义,因为他满足了查询中给定表用到的所有列。要创建一个覆盖索引,他必须包含指定表上包括where子句,order by子句,group by子句(如果有的话)以及...原创 2015-01-26 15:35:53 · 89 阅读 · 0 评论 -
MySQL之SQL优化(三)
事务 1. 自动提交对于事务类型的库表> show variables like 'AUTOCOMMIT';> set AUTOCOMMIT=1; 2. 通过修改配置文件来设置整个数据库的隔离级别,也可以通过以下语句只改变当前会话的隔离级别> SET SESSION TRANSACTION ISOLATION LEVEL READ COMMIT...原创 2015-02-02 14:08:13 · 111 阅读 · 0 评论 -
MySQL之SQL优化(四)
“良好的逻辑设计和物理设计是高性能的基石,应根据系统将要执行的查询语句来设计Schema,这需要权衡各种因素” 数据类型:1.整数类型:a) tinyint(8),smallint(16),mediumint(24),int(32),bigint(64)值的范围从-2(n-1) ~ 2(n-1) b) 整数类型有unsigned属性,表示无符号整型,表示不允许负值,使正...原创 2015-02-16 14:52:17 · 104 阅读 · 0 评论 -
MySQL之SQL优化(五)
MySQL Schema设计要避免以下的设计:1. 太多的列,MySQL的存储引擎API工作时需要在服务器层和存储引擎层之间通过缓冲方式拷贝数据,然后在服务器层将缓冲内容解码成各个列。从行缓冲中将编码过的列转换成行数据的操作代价是很高的。转换的代价取决于列的数量。2. 太多的关联,MySQL限制了每个关联操作最多只能有61张表。一个经验性的法则,如果希望查询执行的快,且并发性好,单...原创 2015-03-12 15:14:47 · 81 阅读 · 0 评论