数据库应用优化
来源:互联网 发布:淘宝运营 策划 编辑:程序博客网 时间:2024/05/21 19:40
1 基本语句的优化
原则一:尽量避免在列上进行运算,这样会导致索引失效
select * from t where year(d)>=2011
优化为
select * fom t where d >= '2011-01-01'
原则二:使用JOIN时,应该用小结果集驱动大结果集。同时把复杂的JOIN查询拆分成多个query。 因为join多个表的时候,可能导致更多的锁定和堵塞。
原则三:注意like模糊查询的使用,避免 %%。
select * from t where name like '%de%'
优化为
select * form t where name>='de' AND name<'df' 原则四:仅列出需要查询的字段,对速度不会有明显影响,主要考虑节省内存
原则五:使用批量插入语句节省交互
原则六:limit基数比较大的时候使用between
原则七:不要使用rand函数获取多条随机记录
原则八:避免使用null
原则九:不要使用count(id),而应该是count(*)
原则十: 不要做无谓的排序操作,而应尽可能的在索引中完成排序
2 索引与性能分析
set @@profiling=1;
select * from wangkai
show profiles;
另外一种方式:explain +sql语句
3 服务器端和配置的优化
一:存储引擎的选择方法
采用myisam引擎
读写比D>100:1,并发不高,不需要事物,表数据量小,硬件资源有限,
采用innodb引擎
读写比比较小,频繁更新大字段, 表数据量超过1000万,并发高,安全性和可用性要求高
采用memory引擎
有足够的内存,对数据一致性要求不高,需要定期归档的数据
二 MySQL服务器调整优化措施
关闭不必要的二进制日志和慢查询日志,适度使用query cache,增加mysql允许的最大连接数,对myIasm表适当增加key_buffer_size;
- 数据库应用优化
- 数据库应用优化
- 数据库应用排查优化
- 如何应用 优化Derby数据库
- 数据库应用优化(1)
- 数据库应用优化(2)
- 数据库优化之 数据库不同应用方向优化
- 应用Profiler优化SQL Server数据库系统
- 秒杀应用的MySQL数据库优化
- Android应用优化(7)数据库操作
- 应用Profiler优化SQL Server数据库系统
- 数据库应用:在Windows 2000下 优化Oracle9i性能
- 基于DB2的数据库应用系统的性能优化
- Oracle学习应用之数据库性能优化策略
- 性能优化是数据库应用的核心问题
- 高负载应用下的mysql数据库彻底优化
- SSD及其在数据库中的应用 (二)装配优化
- 数据库优化-垂直切分以及在实际项目中的应用
- ETL学习笔记之工具
- 目标检测 | SSD原理以及相关问题
- 非常实用的Linux命令行技巧
- C# ListView用法详解
- AsyncTask异步操作
- 数据库应用优化
- python 里的import 和__init__
- Android简单实现高德地图显示及定位
- redis主从复制简单研究
- Int与Integer的比较
- SAP物料管理自动记帐详解
- 重新认识java(六) ---- java中的另类:static关键字(附代码块知识)
- Idea 竖选文本、竖向选择、横向纵向选择文本代码
- 类型转换和异常处理