mysql数据库的性能优化分析
发布:smiling 来源: PHP粉丝网 添加日期:2014-10-14 15:41:37 浏览: 评论:0
影响数据库性能的根源:
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语句的效果是等效的,代码如下:
- SELECT * FROM `logs` WHERE id = 1 or id = 2 or id = 3
- SELECT * FROM `logs` WHERE id between 1 and 3
- --phpfensi.com
- SELECT * FROM `logs` WHERE id in (1,2,3)
经过测试性能也是差不多,如果id是一个大数组那么最后一条书写会简单很多,可以利用 WHERE后面的条件顺序影响,应该先把范围小的条件放前面,在小范围里面按接下来的条件查找.
3)其他优化技术
使用数据缓存技术,如memcached;
使用静态存储,对一些更新不频繁但经常调用的数据采用静态文本的存储方式.
Tags: mysql性能 mysql性能优化
相关文章
- ·mysql加单引号和不加单引号的性能比较(2014-09-24)
- ·MySQL索引用法和性能优化(2014-09-27)
- ·MYSQL批量插入数据库实现语句性能分析(2014-10-04)
- ·mysql随机查询数据与性能分析(2014-10-08)
- ·MySQL中从表中取出随机数据性能优化(2014-10-09)
- ·MYSQL性能优化-安装时优化参数配置提高服务性能(2014-10-09)
- ·mysql中IN,OR,BETWEEN性能比较(2014-10-09)
- ·MySQL数据库性能进行优化三大绝招(2014-10-09)
- ·mysql数据库分表性能优化分析(2014-10-12)
- ·mysql数据库中MyISAM与InnoDB区别及性能详谈(2014-10-12)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)