MySQL性能优化的建议
2017-03-24 13:59
246 查看
注意事项列表
为查询缓存优化你的查询EXPLAIN 你的 SELECT 查询
当只要一行数据时使用 LIMIT 1
为搜索字段建索引
在Join表的时候使用相当类型的例,并将其索引
千万不要 ORDER BY RAND()
避免 SELECT *
永远为每张表设置一个ID
使用 ENUM 而不是 VARCHAR
从 PROCEDURE ANALYSE() 取得建议
尽可能的使用 NOT NULL
Prepared Statements
无缓冲的查询
把IP地址存成 UNSIGNED INT
固定长度的表会更快
垂直分割
拆分大的 DELETE 或 INSERT 语句
越小的列会越快
选择正确的存储引擎
使用一个对象关系映射器(Object Relational Mapper)
小心“永久链接”
具体操作
为查询缓存优化你的查询:大多数的MySQL服务器都开启了查询缓存。这是提高性最有效的方法之一,而且这是被MySQL的数据库引擎处理的。当有很多相同的查询被执行了多次的时候,这些查询结果会被放到一个缓存中,这样,后续的相同的查询就不用操作表而直接访问缓存结果了。
这里最主要的问题是,对于程序员来说,这个事情是很容易被忽略的。因为,我们某些查询语句会让MySQL不使用缓存。
// 查询缓存不开启
r=mysqlquery(“SELECTusernameFROMuserWHEREsignupdate>=CURDATE()”);//开启查询缓存today = date(“Y-m-d”);
r=mysqlquery("SELECTusernameFROMuserWHEREsignupdate>=′today’”);
EXPLAIN 你的 SELECT 查询
当只要一行数据时使用 LIMIT 1
为搜索字段建索引
在Join表的时候使用相当类型的例,并将其索引
千万不要 ORDER BY RAND()
避免 SELECT *
永远为每张表设置一个ID
使用 ENUM 而不是 VARCHAR
从 PROCEDURE ANALYSE() 取得建议
尽可能的使用 NOT NULL
Prepared Statements
无缓冲的查询
把IP地址存成 UNSIGNED INT
固定长度的表会更快
垂直分割
拆分大的 DELETE 或 INSERT 语句
越小的列会越快
选择正确的存储引擎
使用一个对象关系映射器(Object Relational Mapper)
小心“永久链接”
相关文章推荐
- MySQL性能优化之Open_Table配置参数的合理配置建议
- mysql 性能优化 20 条建议
- Mysql性能优化小建议
- 【mysql】MySQL性能优化建议整理
- mysql性能优化的建议
- MySQL性能优化建议
- mysql性能优化建议
- 优化MySQL性能的84个使用建议
- mysql 性能优化的几点建议
- 从某次测试过程中,得到的MySQL性能优化的建议,和定位问题的方法 推荐
- mysql性能优化十大建议(处理大量数据时)
- mysql 性能优化的几点建议
- mysql性能优化学习笔记-参数介绍及优化建议
- 干货之mysql性能优化建议
- MySQL性能优化建议
- MySql――性能优化建议
- MySQL性能优化之Open_Table配置参数的合理配置建议
- [mysql] 性能优化20条建议
- mysql标准的21条实践性能优化经验分享 实用的mysql优化建议
- Mysql性能优化建议