摘要: 1. 查询优化1.1. 常见优化1)使用永久连接到数据库,避免连接的开销。如果需要初始化很多连接,而又不能用永久连接,那么可以修改变量 thread_cache_size 的值。2)尽量不要在经常需要更新的 MyISAM 表上用太过复杂的 SELECT 语句,这是为了避免在读和写之间争夺锁。3)如果必须对一个较长的而且是不定长的字符串字段进行频繁查找,可以考虑建立该字段的md5映射。4)在删除一大... 阅读全文
posted @ 2009-07-26 20:44 jdonson 阅读(285) 评论(0) 推荐(0) 编辑
摘要: 在一些情况下,MySQL可以直接使用索引来满足一个 ORDER BY 或 GROUP BY 子句而无需做额外的排序。尽管 ORDER BY 不是和索引的顺序准确匹配,索引还是可以被用到,只要不用的索引部分和所有的额外的 ORDER BY 字段在 WHERE 子句中都被包括了。下列的几个查询都会使用索引来解决 ORDER BY 或 GROUP BY 部分: SELECT * FROM t1 ORDE... 阅读全文
posted @ 2009-07-26 20:16 jdonson 阅读(418) 评论(0) 推荐(0) 编辑
摘要: 优化MySQL性能的几种方法1、要选取最适用的字段属性   MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快。因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设得尽可能小。例如,在定义邮政编码这个字段时,如果将其设置为CHAR(255),显然给数据库增加了不必要的空间,甚至使用VARCHAR这种类型也是多余的,因为CHAR(6)... 阅读全文
posted @ 2009-07-26 16:44 jdonson 阅读(523) 评论(0) 推荐(0) 编辑
摘要: Mysql中count(*),DISTINCT的使用方法和效率研究在处理一个大数据量数据库的时候突然发现mysql对于count(*)的不同处理会造成不同的结果比如执行SELECT count(*) FROM tablename即使对于千万级别的数据mysql也能非常迅速的返回结果而对于SELECT count(*) FROM tablename WHERE…..mysql的查询时间开... 阅读全文
posted @ 2009-07-26 16:12 jdonson 阅读(1011) 评论(0) 推荐(1) 编辑
摘要: MySQL优化之COUNT(*)效率刚给一个朋友解决他写的Discuz!插件的问题,说到MySQL的COUNT(*)的效率,发现越说越说不清楚,干脆写下来,分享给大家。COUNT(*)与COUNT(COL)网上搜索了下,发现各种说法都有:比如认为COUNT(COL)比COUNT(*)快的;认为COUNT(*)比COUNT(COL)快的;还有朋友很搞笑的说到这个其实是看人品的。在不加WHERE限制条... 阅读全文
posted @ 2009-07-26 16:11 jdonson 阅读(19905) 评论(0) 推荐(3) 编辑