用户名:
密 码: 记住
您当前的位置:首页 > 网络编程 > mysql教程

mysql数据库的性能优化分析

时间:2015-01-23  来源:西部数据  作者:西部数据

影响数据库性能的根源:

1,磁盘I/O读取,2,CPU使用率,3,资源竞争

优化的方式:

1,设计优化,2,操作优化,3,使用其他优化技术

1)设计优化:

分类拆分数据量大的表,选取最适用的字段属性,索引设计,为经常查询用到的字段建立索引,避免查询时查找其他重复无用的数据,避免了大范围扫描.

2)操作优化:

锁表操作,尽量避免子查询,将子查询转化成连接查询;

where子句查询条件尽量少使用运算操作;

A>2与A>=3的效果有很大的区别了,因为A>2时数据库会先找出为2的记录索引再进行比较,而A>=3时ORACLE则直接找到=3的记录索引;

a is not null 改为 a>0 或a>''等,判断字段是否为空一般是不会应用索引的;

a<>0 改为 a>0 or a<0,不等于操作符是永远不会用到索引的,因此对它的处理只会产生全表扫描;YY_BH LIKE '%5400%' 这个条件会产生全表扫描,如果改成YY_BH LIKE 'X5400%' OR YY_BH LIKE 'B5400%' 则会利用YY_BH的索引进行两个范围的查询,性能肯定大大提高;

以下三条sql语句的效果是等效的,代码如下:

  1. SELECT * FROM `logs` WHERE id = 1 or id = 2 or id = 3 
  2.  
  3. SELECT * FROM `logs` WHERE id between 1 and 3 
  4. --phpfensi.com 
  5. SELECT * FROM `logs` WHERE id in (1,2,3) 

经过测试性能也是差不多,如果id是一个大数组那么最后一条书写会简单很多,可以利用 WHERE后面的条件顺序影响,应该先把范围小的条件放前面,在小范围里面按接下来的条件查找.

3)其他优化技术

使用数据缓存技术,如memcached;

使用静态存储,对一些更新不频繁但经常调用的数据采用静态文本的存储方式.

来顶一下
返回首页
返回首页
推荐资讯
WiFi太不安全:7岁女孩11分钟内入侵公共网络 WiFi太不安全:7岁女孩11分钟内入侵近期刚刚发布研究说WiFi网络能获得人们手机里多少私人信息,
不服跑个分?人工智能也出现“刷分”乱象 不服跑个分?人工智能也出现“刷分2014年,人工智能领域突然爆发,成为了科研和科技创业的热门
相关文章
    无相关信息
栏目更新
栏目热门